首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GDB调试指南-单步调试

在启动调试设置断点观察之后,没有我们想要的信息怎么办呢?这个时候,就需要单步执行或者跳过当前断点继续执行等等。而本文所说的单步调试并非仅仅指单步执行,而是指在你的控制之下,按要求执行语句。...单步进入-step 对于上面的情况,如果我们想跟踪add函数内部的情况,可以使用step命令(可简写为s),它可以单步跟踪到函数内部,但前提是该函数有调试信息并且有源码信息。...,但是并没有该函数的源文件信息 _IO_puts (str=0x4006b8 "it will calc a + b") at ioputs.c:33 33 ioputs.c: No such file...跳过执行--skip skip可以在step时跳过一些不想关注的函数或者某个文件的代码: $ gdb gdbStep (gdb) b 27 Breakpoint 1 at 0x4005e4: file...step也后面也可以跟文件: (gdb)skip file gdbStep.c 这样gdbStep.c中的函数都不会进入。

2.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

Xcode 单步调试 WebRTC

前言 最近使用 WebRTC 开发一个实时直播项目,在调试的时候发现一个特别奇怪的现象,将编译好的 WebRTC 静态库文件加入到我们自己的工程里之后无法进行单步调试。...生成的静态库没有符号表 如何判断是否是由于没有符号表导致无法单步调试的呢?我们在 Linux 下经常用下面这个命令: nm : 显示二进制目标文件的符号表。...没错,调试器就是使用符号表与源代码关联文件来达到调试效果的。...每一个符号都对应一个文件及所在行数,当执行到该行时,就将对应的代码显示出来,这就是 debugger的工作原理。 如果我们进行单步调试时不能显示代码行,那很有可能是这个原因导致的。...无法对项目进行单步调试,严重的影响到了我们解决问题的进度。为了解决该问题,我几乎将 Xcode 的编译与调试机制翻了个遍。

2.7K60

基本python debug使用(单步调试)

社区自动同步,原文地址 https://stackoverflow.club/python-debug/ python pdb 使用 使用命令 python -m pdb your_py_file 进入调试界面...b 显示断点编号 disable n 失能第n个断点 cl n 删除第n个断点 continue 或 c 继续执行程序, 或是跳到下个断点 list 或 l file:n 查看当前行的代码段, 指定文件的指定行...在当前目录下创建.pdbrc文件文件里面是调试脚本。...似乎是为了支持别名而不是为了使能调试脚本,不管了,可以使用调试脚本就可以 以下是我测试用的调试脚本 b 10 , i==8 and j==8 c !print('i is ', i) !...前缀的,表明是python代码,用来和普通的调试指令区分开 另外,.pdbrc文件并不是说文件名后缀是.pdbrc,而是整个文件名。

3K10

PhpStorm+Xdebug配置单步调试PHP

在php文件运行时,通过TCP协议发送调试信息到远程端口,IDE在收到调试信息时,可以向Xdebug发送单步运行,中止运行,运行等命令。此插件还可以进行代码覆盖率的统计,有兴趣的小伙伴可以一起交流。...将下载的dll文件保存到PHP文件路径中的ext文件夹中。 2. 配置php.ini文件,连接Xdebug。 a. 打开PHP文件目录下的配置文件php.ini b....五、开始调试 1. 打开php文件 2. 设置断点,如下图: ? 3. 点击run>debug,或者按Alt+Shift+F9,如下图: ? 4....在弹出的对话框中选则带有php图标的php文件,如下图: ? 5. 底部会出现调试信息,如下图: ? 6....按F8执行Step Over(单步进入函数),按F7执行Step Into(单步跳过函数),更多操作如下图: ? 7. 鼠标移至参数上之后,会出现当前的值,如下图: ? 8.

3.9K10

PhpStorm+Xdebug配置单步调试PHP

在php文件运行时,通过TCP协议发送调试信息到远程端口,IDE在收到调试信息时,可以向Xdebug发送单步运行,中止运行,运行等命令。此插件还可以进行代码覆盖率的统计,有兴趣的小伙伴可以一起交流。...将下载的dll文件保存到PHP文件路径中的ext文件夹中。 2. 配置php.ini文件,连接Xdebug。 a. 打开PHP文件目录下的配置文件php.ini b....五、开始调试 1. 打开php文件 2. 设置断点,如下图: ? 3. 点击run>debug,或者按Alt+Shift+F9,如下图: ? 4....在弹出的对话框中选则带有php图标的php文件,如下图: ? 5. 底部会出现调试信息,如下图: ? 6....按F8执行Step Over(单步进入函数),按F7执行Step Into(单步跳过函数),更多操作如下图: ? 7. 鼠标移至参数上之后,会出现当前的值,如下图: ? 8.

3.9K20

Linux下调试1588单步时间戳报文

这几天在为一个网络控制器实现IEEE 1588单步时间戳的驱动,几经调试终于完工了。顺便分享一下调试方法,当然如果你想玩1588的单步时间戳,首先得有支持这个功能的硬件平台。...如果对1588报文单步时间戳不了解,可以查看我之前的文章“IEEE 1588 Sync报文单步时间戳”。 平台和工具 我用的平台就不透露了,测试使用两块板子,网口直连。...tcpdump:抓包工具,位于板子的文件系统。 linuxptp:开源PTP软件,位于板子的文件系统。 Wireshark,Windows电脑上的软件,用来查看抓包文件。...调试方法 两个板子网口直连,启动Linux。 配置IP地址,确保两个网口能ping通。 一个板子做接收,运行tcpdump抓包,可直接查看,也可以保存成pcap文件在Wireshark中打开查看。...如果硬件做单步时间戳的同时,又支持回写时间戳,那就可以拿回写时间戳和单步时间戳(originTimestamp + correctionField)比较。如果相等,就说明硬件工作没有问题。

3K20

vs单步调试及断点调试基本介绍(入门版详细图文介绍)

, // 使用方法:调试->开始调试 // // // // 断点停住后, 1:可配合单步调试一步步的运行(见后文介绍) 2:也可以恢复运行状态,继续运行程序,直到等待输入,异常或者运行到下一个断点...而单步调试可用来在对应范围内去找具体的bug // // // 2:** 单步调试**: //作用:可以深入某一个模块,某一个函数去一行行执行代码,可以具体的去定位bug在哪一行。...//使用方法: 快捷键f11,(别的IDE也类似),单步调试可以直接按f11,然后从第一行开始逐步运行, // // 不过通常用法是在断点调试下接单步。...,等等各种问题 // // 补充:如果不小心关闭输出窗口,可以在此处点开即可 // //注,需要在调试状态(即本身处于断点停住的调试,或者单步状态下)点开 调试->窗口->需要的窗口 /...// // 其中断点调试通常通过恢复运行状态(继续执行)来快速定位bug在哪一个大的模块。 // // 而单步调试一般是在断点调试的状态下,去具体的定位哪一行代码有bug。

3.2K40
领券