gdb高阶调试命令
- 
断点 - 条件断点
- condition 1 value==1: 此次的1表示break的编号,之后的- value==1表示条件判断;即在value为1时,命中编号为1的断点;
- ignore 1 4: 忽略断点为1的前4次命中,第5次开始,就需要命中;
 
- d br: 删除所有的断点
 
- 条件断点
- 
打印 - p /t var-name: 打印变量名- var-name的二进制内容;
 
- 
如何定位动态库中的代码 当编译debug时,符号文件会嵌入到可执行文件中(这一点不像Windows下的可执行文件和符号文件,它们是分开的。) 只有在gdb中start运行起来之后,才会加载动态库,之后才可以对动态库的代码进行断点设置。在main函数之后,先设置一个断点,之后就可以设置动态库的代码。动态库加载之后,可以使用如下命令进行参考: - i sharedlibrary: 查看已经加载的动态库;
- b 动态库中的代码所在的文件:行号:定位动态库中的所在文件的行号;
- b 类名:函数名: 可以定位某一个类中的函数;
 
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号