无法中断 gdb mingw 中的函数名称
Unable to break on function name in gdb mingw
我的程序有多个文件,我用g++ -g编译。
当我尝试在 WinMain 上中断时,它说函数未定义,但是当我显示列表时它出现在那里。
(gdb) list Winmain.cpp:237
237 // WinMain
238 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance
pCmdLine, int nCmdShow) {
239
240 //Debuging mode
(gdb)
241
242 // IO thread ;;;; in charge of writing stuff to files
reak the mem thread
243 // /var/log/simulator.log
244 freopen ("debug.txt", "w", stdout);
245
246 // Strings
247 static TCHAR szWindowClass[] = TEXT("myWnd"); // std::s
indowClass = "myWnd";
248 static TCHAR szTitle[] = _T("Virtual Map"); // std::s
itle = "Virtual map";
249
250 // Windows Structure
(gdb) b Winmain.cpp:WinMain
Function "WinMain" not defined in "Winmain.cpp".
Make breakpoint pending on future shared library load? (y or [n]) n
我可以用 b Winmain.cpp:238 来破解,但为什么它不能按名称工作?
mingw32 在 windows7
GNU gdb (GDB) 7.6.1
WinMain()
是一个 __stdcall
函数; (该知识通过 WINAPI
限定符以典型的 Microsoft 混淆方式传达)。因此,其公开可见的名称变为 WinMain@16()
;您应该在此限定名称上设置 gdb
断点。
我的程序有多个文件,我用g++ -g编译。
当我尝试在 WinMain 上中断时,它说函数未定义,但是当我显示列表时它出现在那里。
(gdb) list Winmain.cpp:237
237 // WinMain
238 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance
pCmdLine, int nCmdShow) {
239
240 //Debuging mode
(gdb)
241
242 // IO thread ;;;; in charge of writing stuff to files
reak the mem thread
243 // /var/log/simulator.log
244 freopen ("debug.txt", "w", stdout);
245
246 // Strings
247 static TCHAR szWindowClass[] = TEXT("myWnd"); // std::s
indowClass = "myWnd";
248 static TCHAR szTitle[] = _T("Virtual Map"); // std::s
itle = "Virtual map";
249
250 // Windows Structure
(gdb) b Winmain.cpp:WinMain
Function "WinMain" not defined in "Winmain.cpp".
Make breakpoint pending on future shared library load? (y or [n]) n
我可以用 b Winmain.cpp:238 来破解,但为什么它不能按名称工作?
mingw32 在 windows7
GNU gdb (GDB) 7.6.1
WinMain()
是一个 __stdcall
函数; (该知识通过 WINAPI
限定符以典型的 Microsoft 混淆方式传达)。因此,其公开可见的名称变为 WinMain@16()
;您应该在此限定名称上设置 gdb
断点。