Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-27520

CDB process terminated exceptionally

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • Qt Creator 7.0.0
    • Debugger
    • None
    • Compiler: Microsoft Visual C++ Compiler 16.10.31410.357(amd64)
      Debugger: cdb 10.0.22000.194 (x64)
      Qt version: 6.2.4
    • Windows

    Description

      CDB process terminated exceptionally

      The CDB crashed after line 60 in Qt Creator

       

      But, In the WinDbg, Everything is OK.

       I tried compiling the source codes in Visual Studio 2019, And running it with debug mode, 'Step over' around line 60, Everythings also is OK.

      Codes:

      #include <Windows.h>
      #include <conio.h>
      #include <memory>
      #include <thread>
      #include <string>
      #include <functional>
      
      #define __PRETTY_FUNCTION__  __FUNCSIG__
      
      void test3()
      {
          bool fSuccess;
          HANDLE outPipeOurSide = 0, inPipeOurSide = 0;
          HANDLE outPipePseudoConsoleSide = 0, inPipePseudoConsoleSide = 0;
      
          PROCESS_INFORMATION pi;
          memset(&pi, 0, sizeof(pi));
      
          STARTUPINFOEXW  si;
          memset(&si, 0, sizeof(si));
          si.StartupInfo.cb = sizeof(STARTUPINFOEXW);
      
          do
          {
              CreatePipe(&inPipePseudoConsoleSide, &inPipeOurSide, NULL, 0);
              CreatePipe(&outPipeOurSide, &outPipePseudoConsoleSide, NULL, 0);
              HPCON hPC = 0;
              if (CreatePseudoConsole(COORD{ 800, 600 }, inPipePseudoConsoleSide, outPipePseudoConsoleSide, 0, &hPC) != S_OK)
              {
                  printf("%s:%d - CreatePseudoConsole failed[%ld]", __PRETTY_FUNCTION__, __LINE__, GetLastError());
                  break;
              }
      
              SIZE_T size;
              InitializeProcThreadAttributeList(NULL, 1, 0, &size);
              si.lpAttributeList = reinterpret_cast<PPROC_THREAD_ATTRIBUTE_LIST>(new char[size]);
              fSuccess = InitializeProcThreadAttributeList(si.lpAttributeList, 1, 0, &size);
              if (!fSuccess)
              {
                  printf("%s:%d - InitializeProcThreadAttributeList failed[%ld]", __PRETTY_FUNCTION__, __LINE__, GetLastError());
                  break;
              }
      
              fSuccess = UpdateProcThreadAttribute(
                  si.lpAttributeList,
                  0,
                  PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE,
                  hPC,
                  sizeof(HPCON),
                  NULL,
                  NULL);
              if (!fSuccess)
              {
                  printf("%s:%d - UpdateProcThreadAttribute failed[%ld]", __PRETTY_FUNCTION__, __LINE__, GetLastError());
                  break;
              }
      
      
              std::wstring commandline = L"cmd.exe";
              fSuccess = CreateProcess(
                  nullptr,
                  (wchar_t*)commandline.data(),
                  nullptr,
                  nullptr,
                  TRUE,
                  EXTENDED_STARTUPINFO_PRESENT,
                  nullptr,
                  nullptr,
                  &si.StartupInfo,
                  &pi);
      
      
              if (!fSuccess)
              {
                  printf("!CreateProcessA failed[%ld]", GetLastError());
                  break;
              }
              DeleteProcThreadAttributeList(si.lpAttributeList);
              printf("done, pid %ld", pi.dwProcessId);
          } while (0);
      
          CloseHandle(inPipeOurSide);
          CloseHandle(outPipeOurSide);
          CloseHandle(inPipePseudoConsoleSide);
          CloseHandle(outPipePseudoConsoleSide);
          TerminateProcess(pi.hProcess, 0);
          WaitForSingleObject(pi.hProcess, -1);
          CloseHandle(pi.hProcess);
      }
      
      
      int main(int argc, char* argv[])
      {
          test3();
          return 0;
      }
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            davschul David Schulz
            tancen cen tan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes