gdb调试C程序出现错误(R调用该C程序)

gdb调试C程序出现错误(R调用该C程序)

问题描述:

程序单步调试至主函数末尾处103行时,其104行即为主函数的右括号处,出现如下错误:
Breakpoint 17, main (argc=144259120, argv=0x87e3200)
at SampleCogeneMatrix.cpp:103
103 return 0;
(gdb) n
104 }
(gdb) n
0xb7ccb0e9 in ?? () from /usr/lib/R/lib/libR.so
(gdb) n
Cannot find bounds of current function

有可能是此函数的调用方式有误导致返回时栈被破坏,比较__cdecl和__stdcall的区别

return 0改为exit(0)试试