1.deubg过程中设置断点位置与实际断点的行数不同
回答:设置断点位置与实际断点的行数不同是由于开启了编译优化(O3),所以要在cmake之前关闭编译优化
CFLAGS="-O0" CXX=gcc
CXXFLAGS="-O0 -felide-constructors -fno-exceptions -fno-rtti"
2.多线程调试过程中发现,在使用step或者continue命令调试当前被调试线程的时候,其他线程也是同时执行的,怎么只让当前被调试的线程执行。
回答:在(gdb)set scheduler-locking off|on|step ,在eclipse-cdt中设置如下
在console的选项中切换到【C/C++ Application】gdb
set scheduler-locking on就会打开只执行当前选定线程的开关
info threads 显示当前进程中的线程