腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
一条汇编指令
单步
执行一个过程
、
、
、
、
当您使用ptrace执行
单步
操作时,该进程是执行一行代码,还是执行一行汇编。如果是前一种情况,有没有办法在
linux
中只通过一条处理器指令
单步
执行一个进程?我的意思是在内核中这样做,但是
GDB
源代码有点大,很难准确跟踪它在做什么,它是ASM
单步
执行的。我想
单步
执行一个进程,只是我不确定ptrace
单步
的确切行为是什么(只有一条指令还是多条指令?)
浏览 0
提问于2011-09-28
得票数 0
回答已采纳
1
回答
得到我不理解的次要进程消息
、
我正在使用
Linux
Mint19.1上的gnu工具和
gdb
,以及"Programming From the Ground Up“这本书。但是,当我尝试使用
gdb
单步
执行程序时,我得到消息:次进程1(进程18754)退出,代码为0336.如果您能帮忙,我们将不胜感激
浏览 1
提问于2020-04-07
得票数 0
1
回答
gdb
可以
单步
执行不是用-g编译的程序的汇编指令吗?
、
、
、
我试图运行一个没有在
Linux
的
gdb
中使用-g选项编译的程序(例如/bin/ls)。
gdb
运行该程序(BTW lldb不运行)。我想知道是否可以使用si
单步
执行程序中的机器指令(原则上,我看不出为什么不可以)。但问题是:如何设置断点?如果您只是运行程序,它就会执行并退出。
浏览 2
提问于2021-11-12
得票数 0
0
回答
gdb
步骤,直到源代码再次可用
我在
linux
上的
gdb
下运行GNU grep,并且
单步
执行。在大约12个步骤之后,控制权被转移到没有源代码的setlocale.c。有没有办法让
gdb
保持步进,直到包含源代码的文件再次可用。或者,有没有一种方法可以告诉
gdb
保持
单步
执行,直到控制权转移到另一个文件?示例会话,显示了最初可用的源代码,然后在setlocale.c中不可用Temporary breakpoint 1 at 0x402e50: file grep.c, line[T
浏览 7
提问于2018-07-15
得票数 0
回答已采纳
1
回答
无法访问地址处的内存- RISCV
gdb
/
Linux
无KSLR
、
、
、
我正在为RISC-V架构开发一个定制的
Linux
内核。现在我正在使用
GDB
/QEMU进行调试,因为这些工具已经可用。当我在调试时,我注意到我不能访问虚拟化地址的内存。也就是说,一旦内核中的内存从物理寻址转换为虚拟寻址,我就不能再在
gdb
中访问这些内存位置。例如,内核在QEMU的info mem命令中如下所示。在我的内核中,
单步
执行到开始使用虚拟内存的这一点是可以的,但是超过这一步会导致QEMU有效地停止--它在每一步都给出相同的指令。但是,如果我继续,它将在QEMU中引导。我如何通过
单步
执行来调
浏览 23
提问于2020-06-16
得票数 0
1
回答
检查变量何时被修改
、
、
、
、
使用Valgrind或
Linux
中的任何其他调试器,如何查看变量被修改的位置。我用的是gcc。请注意,我不想使用
gdb
单步
执行代码。我只想运行程序,让调试器在最后报告我,在代码中变量被修改的地方。
浏览 1
提问于2011-11-08
得票数 2
回答已采纳
1
回答
需要从硬件层概述调试过程。
、
、
、
我想全面了解调试过程是如何在运行
Linux
操作系统的典型x86机器上发生的;假设用于调试的程序是
gdb
。问题1:调试过程是由硬件促进的(还是完全在软件中实现?)
浏览 4
提问于2020-02-02
得票数 0
回答已采纳
1
回答
如何让
gdb
在连接到mips模拟器时识别eret指令?
、
我打印了
gdb
和qemu-i386之间交换的数据包,我看到当我在
gdb
中输入si并且当前pc指向iret指令时,
gdb
会将vCont;s:1发送到qemu-i386-server,但如果当前pc指向正常指令,
gdb
会向qemu发送Z0;addr:4和vCont;c:1,让qemu继续运行到断点。我的问题是,我实现了一个mips32模拟器,也实现了
gdb
服务器,当我在我的模拟器调试器中输入si并且当前的pc指向一个指令eret (类似于i386中的iret )时,
gdb
发送一个Z0;add
浏览 0
提问于2018-07-09
得票数 1
2
回答
linux
是否提供任何像windows一样的调试api?
、
、
、
Windows提供了一组调试API,以便程序可以在特定位置停止并转储相应的信息,以编写我们自己的调试器,如 我的问题是,
linux
是否也提供了一系列调试api,以便我们可以轻松地编写自己的调试器,或者扩展
gdb
,而不必了解
linux
内核等等?
浏览 5
提问于2017-02-24
得票数 4
回答已采纳
1
回答
从
linux
终端使用
gdb
for android
、
、
我有一个用于android的C++程序,我想通过逐行运行(
单步
执行)来调试它,就像我可以从终端使用
Linux
上的
gdb
一样,并让它打印出所有当前变量及其在每一步的值。这是可能的吗?我将如何实现这一点?我看到很多东西都列出来了,比如ndk-
gdb
,但是我真的不确定从哪里开始。
浏览 0
提问于2013-04-20
得票数 2
4
回答
gdb
步骤未按预期工作
、
、
、
我正在
Linux
上调试静态多线程x86-64 C++应用程序。(
gdb
) bt(
gdb
) c作为一种变通办法,我可以多次使用stepi而不是step,stepi的工作方式与预期一致。这
浏览 2
提问于2013-06-03
得票数 12
回答已采纳
1
回答
Qt Creator 2.7.1和Qt 4.8.4无法远程调试库
、
、
、
、
我正在尝试远程部署和调试我的应用程序,并在调用库函数时
单步
执行它们。我可以成功地设置断点和远程调试,但不能使用调试器(
gdb
)
单步
执行我的库函数。0x400d7124 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-
linux
-gnueabi/sysroot为什么我可以在应用程序中调试和设置断点,但不能
单步
执行库调用?任何想
浏览 0
提问于2013-06-01
得票数 5
回答已采纳
1
回答
在
gdb
调试器中,可以获得函数到源文件的映射吗?
、
、
当使用
gdb
单步
执行代码时,会自动显示当前执行的函数的源文件。我想自动化某个调试任务(使用
gdb
python API),该任务将
单步
执行位于用户指定的源路径中的函数,而不是其他函数(例如printf等)。有没有办法访问
gdb
保存函数到源代码映射的数据结构?
浏览 1
提问于2015-05-26
得票数 0
1
回答
如果我
单步
调试被阻塞的线程,会发生什么?
、
、
、
、
如果我使用像
gdb
这样的调试器附加到进程,并在当前线程处于阻塞操作中时使用single step,会发生什么情况? 例如,当前线程正在等待sigwait返回,而我使用single step。
浏览 16
提问于2021-08-10
得票数 0
1
回答
随着时间的推移,
GDB
变得越来越慢。
、
、
、
、
当在一个调试会话期间使用
GDB
进行调试时,随着时间的推移,它会变得越来越慢。即使是最简单的操作,如
单步
执行和
单步
执行,也可能需要几十秒,有时甚至几分钟。我能想到的唯一原因是
gdb
随着时间的推移变得越来越慢,因为它加载了越来越多的符号,使用它们需要更长的时间。此外,为什么需要查找符号来执行
单步
执行或
单步
执行操作? 在测试过程中,我尝试在前端(Eclipse、QtCreator、Emacs)和命令行中使用
gdb
,以确认这不是集成开发环境的问题。为什么
GDB
浏览 0
提问于2011-12-13
得票数 4
回答已采纳
1
回答
如何使用
GDB
单步
执行函数而不是其参数
、
正如您可能知道的,在
GDB
中使用step(s)命令可以
单步
执行一个函数。但s首先检查并步入函数的参数。例如,下面的函数: foo(bar(1)); 步入foo,步入bar,然后步入foo。一旦参数数量变得越来越多,
单步
执行参数就会变得很烦人。是否可以使用
GDB
直接
单步
执行foo,而跳过
单步
执行它的参数? 我知道我可以为foo设置一个断点:)我正在寻找其他的解决方案。
浏览 16
提问于2020-12-14
得票数 2
1
回答
gdb
-stub/server如何处理SW断点
、
从概念上讲,
gdb
存根或服务器如何处理SW断点(我假设客户端存根和服务器处理它们的方式基本相同)?我对运行
gdb
存根/服务器的“裸机”目标很感兴趣,断点和
单步
执行都使用软件中断。另外,
单步
执行断点是如何使得原始的非断点指令被执行,并且断点在
单步
执行后仍然保留在那里? 编辑忘记了:文档"
GDB
内部“似乎缺少这些信息--实际上,”算法“一章中关于
单步
执行的整个子章都遗漏了。edit2啊,我似乎需要更强的眼镜:‘内部’-手册上说:“当用户说继续,
G
浏览 1
提问于2015-04-12
得票数 0
1
回答
使用
GDB
: I crash (segfault)。我如何才能看到通向它的代码行?
、
、
它是用C语言写的,我一直使用
GDB
来调试它。在过去,我已经按了数百次n,这是有道理的。然而,我认为在目前的情况下,如果我可以倒退一步来查看故障发生的位置,那么效率会高得多。
浏览 1
提问于2019-02-14
得票数 1
1
回答
用vscode调试多线程C程序时跳过切换线程
、
、
、
、
用VSCode的调试器
单步
执行多线程C程序,每一步都切换线程。"cwd": "${workspaceRoot}", "externalConsole": true, "MIMode": "
gdb
", "setupCommands"
浏览 263
提问于2017-07-20
得票数 15
1
回答
我需要一些关于在wsl中用vscode编写C代码的帮助
、
、
我将gcc编译器下载到我的
linux
环境中,并使用ssh进入vscode,在我的windows机器上模拟
linux
环境。我创建的编译文件和我的教授给我的makefile运行得很好,但是每当我使用我的教授还提供的
gdb
调试器进行调试时,调试器挂起,不允许我使用断点
单步
执行代码。", "setupCommands": [
浏览 34
提问于2020-03-26
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
GDB的7 个单步调试命令|Linux 中国
gdb实用的调试技巧:启动方式、堆栈信息、单步调试
【Linux】调试器-gdb使用
三步上手 GDB Linux 中国
gdb 如何调用函数?
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券