User forums > Help
Problem pausing debugger using TDM-GCC64, C::B v13.12
glindsey:
Hey all:
I recently switched my toolchain from vanilla MinGW GCC 4.8 to TDM-GCC64 4.8.1, and since then, I've been unable to pause a running process in GDB using either the "pause" or "stop" buttons in Code::Blocks. If I set breakpoints before I start the program, GDB hits them with no trouble, and I can resume afterward. If I close the application normally, GDB exits like it should. It's only when I try to pause execution through Code::Blocks that nothing seems to happen.
Here's a debug log for the debugger:
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: C:\GDrive\hobby\gamedev\projects\GamePlan\Template\
Adding source dir: C:\GDrive\hobby\gamedev\projects\GamePlan\
Adding file: C:\GDrive\hobby\gamedev\projects\GamePlan\Template\bin\Debug\TemplateProject.exe
Changing directory to: C:/GDrive/hobby/gamedev/projects/GamePlan/Template/.
Set variable: PATH=.;C:\GDrive\hobby\gamedev\libraries\SFML-2.1\build\lib;C:\GDrive\hobby\gamedev\libraries\boost_1_55_0\boost\stage\lib;C:\TDM-GCC-64\bin;C:\TDM-GCC-64;C:\Python27;C:\Python27\Scripts;C:\Perl64\site\bin;C:\Perl64\bin;c:\Program Files (x86)\Intel\iCLS Client;c:\Program Files\Intel\iCLS Client;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files (x86)\CMake 2.8\bin;C:\Program Files\doxygen\bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;c:\boost_1_55_0\build\bin;C:\Users\Gregory Lindsey\AppData\Roaming\Python\Scripts
[debug]Command-line: C:\TDM-GCC-64\bin\gdb.exe -nx -fullname -quiet -args C:/GDrive/hobby/gamedev/projects/GamePlan/Template/bin/Debug/TemplateProject.exe
[debug]Working dir : C:\GDrive\hobby\gamedev\projects\GamePlan\Template
Starting debugger: C:\TDM-GCC-64\bin\gdb.exe -nx -fullname -quiet -args C:/GDrive/hobby/gamedev/projects/GamePlan/Template/bin/Debug/TemplateProject.exe
done
[debug]> set prompt >>>>>>cb_gdb:
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
[debug]Reading symbols from C:\GDrive\hobby\gamedev\projects\GamePlan\Template\bin\Debug\TemplateProject.exe...
[debug]done.
[debug](gdb) >>>>>>cb_gdb:
[debug]> show version
[debug]GNU gdb (GDB) 7.6.1
[debug]Copyright (C) 2013 Free Software Foundation, Inc.
[debug]License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
[debug]This is free software: you are free to change and redistribute it.
[debug]There is NO WARRANTY, to the extent permitted by law. Type "show copying"
[debug]and "show warranty" for details.
[debug]This GDB was configured as "x86_64-w64-mingw32".
[debug]For bug reporting instructions, please see:
[debug]<http://www.gnu.org/software/gdb/bugs/>.
[debug]>>>>>>cb_gdb:
[debug]> set confirm off
Debugger name and version: GNU gdb (GDB) 7.6.1
[debug]>>>>>>cb_gdb:
[debug]> set width 0
[debug]>>>>>>cb_gdb:
[debug]> set height 0
[debug]>>>>>>cb_gdb:
[debug]> set breakpoint pending on
[debug]>>>>>>cb_gdb:
[debug]> set print asm-demangle on
[debug]>>>>>>cb_gdb:
[debug]> set unwindonsignal on
[debug]>>>>>>cb_gdb:
[debug]> set print elements 0
[debug]>>>>>>cb_gdb:
[debug]> set new-console on
[debug]>>>>>>cb_gdb:
[debug]> set disassembly-flavor att
[debug]>>>>>>cb_gdb:
[debug]> catch throw
[debug]Catchpoint 1 (throw)
[debug]>>>>>>cb_gdb:
[debug]> source C:\Program Files (x86)\CodeBlocks\share\codeblocks/scripts/stl-views-1.0.3.gdb
[debug]>>>>>>cb_gdb:
[debug]> directory C:/GDrive/hobby/gamedev/projects/GamePlan/Template/
[debug]Source directories searched: C:/GDrive/hobby/gamedev/projects/GamePlan/Template;$cdir;$cwd
[debug]>>>>>>cb_gdb:
[debug]> directory C:/GDrive/hobby/gamedev/projects/GamePlan/
[debug]Source directories searched: C:/GDrive/hobby/gamedev/projects/GamePlan;C:/GDrive/hobby/gamedev/projects/GamePlan/Template;$cdir;$cwd
[debug]>>>>>>cb_gdb:
[debug]> run
[debug]Starting program: C:/GDrive/hobby/gamedev/projects/GamePlan/Template/bin/Debug/TemplateProject.exe
Child process PID: 3240
[debug][New Thread 3240.0x24fc]
[debug][New Thread 3240.0xd0c]
[debug][New Thread 3240.0x560c]
[debug][New Thread 3240.0x14e4]
[debug][New Thread 3240.0x23f8]
[debug][New Thread 3240.0x21b4]
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
I should also note that Boost and SFML (the two libraries I am using) are also both compiled using TDM-GCC64, with SJLJ exception handling.
Any help you can give would be greatly appreciated! Thanks!
GSL
ollydbg:
1, can you try to write a simple loop in a hello world like console app, and see the same issue
2, to developers:
I suspect we should use a 64 bit windows API to halt the debugee under 64 bit windows system? I don't have a 64 bit windows at hand.
Currently, we use
--- Code: ---DebuggerGDB::DebuggerGDB() :
cbDebuggerPlugin(wxT("GDB/CDB debugger"), wxT("gdb_debugger")),
m_State(this),
m_pProcess(0L),
m_LastExitCode(0),
m_Pid(0),
m_PidToAttach(0),
m_NoDebugInfo(false),
m_StoppedOnSignal(false),
m_pProject(0),
m_stopDebuggerConsoleClosed(false),
m_TemporaryBreak(false),
m_printElements(0)
{
if (!Manager::LoadResource(_T("debugger.zip")))
{
NotifyMissingFile(_T("debugger.zip"));
}
// get a function pointer to DebugBreakProcess under windows (XP+)
#if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
kernelLib = LoadLibrary(TEXT("kernel32.dll"));
if (kernelLib)
{
DebugBreakProcessFunc = (DebugBreakProcessApiCall)GetProcAddress(kernelLib, "DebugBreakProcess");
//Windows XP
CreateToolhelp32SnapshotFunc = (CreateToolhelp32SnapshotApiCall)GetProcAddress(kernelLib, "CreateToolhelp32Snapshot");
Process32FirstFunc = (Process32FirstApiCall)GetProcAddress(kernelLib, "Process32First");
Process32NextFunc = (Process32NextApiCall)GetProcAddress(kernelLib, "Process32Next");
}
#endif
}
--- End code ---
I'm not sure what happens under a 64 bit windows system.
oBFusCATed:
@ollydbg: What 64bit API?
@glindsey:
Can you try the latest night build?
Do you have more than one line in initial commands edit box?
ollydbg:
--- Quote from: oBFusCATed on May 01, 2014, 07:44:16 am ---@ollydbg: What 64bit API?
--- End quote ---
I guess/suspect that DebugBreakProcess from kernel32.dll can not break the debugee.
glindsey:
Thanks for the help!
I tried making a simple console app as you requested. The code is below:
#include <iostream>
#include <chrono>
#include <thread>
int main()
{
unsigned int x;
std::cout << "Hello world!" << std::endl;
while(1)
{
std::cout << x << "... Pausing for a second..." << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
++x;
}
return 0;
}
Once again, the pause/stop debugger buttons don't work; the only way to stop the program is to close it via its own close box, or kill it with Task Manager.
I haven't tried the latest nightly build yet; I'll see if I can get to it this weekend. (I only get to work on my own projects when I'm not developing at work! :) )
Navigation
[0] Message Index
[#] Next page
Go to full version