首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在linux平台下调试程序集代码

在linux平台下调试程序集代码
EN

Stack Overflow用户
提问于 2011-10-20 17:17:59
回答 2查看 1.3K关注 0票数 2

我刚开始调试gdb.Therefore下的程序集代码,我有一些问题;

  • 如何在没有实际运行的情况下运行组装代码(在虚拟位置)?如果需要一个值,如何插入一个值来查看它在开关语句中的工作方式?

例句:我不能给出装配方面的例子,所以我用c来表示。

扫描(%d,&y);而(Y){.扫描器( "%d",&x);开关(X){例1:.案例2:.案例3:.}

  • 如果需要,如何知道寄存器中存储了什么值?

  • 如何将所有显示输出到.txt文件中?换句话说,假设我已经启动了我的程序,并且它没有断点运行,然后我希望将这个显示打印到.txt文件中。所以我可以在纸上工作。如你所知,纸比计算机更强大:)

我知道有些人会说“去读gdb教程或手册页”.But,我找不到任何好的教程,比如解释命令是如何工作的。我的大脑只有当我的眼睛看到例子时才能工作:)

平台是Linux工具是终端/控制台

编辑:如果你知道的话,请给我一个好的网站,包括好的文档。

给了我“如何抓鱼”、“不吃鱼”的文档。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-20 17:53:33

如何在没有实际运行的情况下运行程序集代码?

嗯,呃,什么?!

如果它需要一个值,我如何插入一个值来查看它在switch语句中是如何工作的?

set whatever = some expression

记住,寄存器有$ sigil (例如:$eax)。

如果需要,我如何知道存储在寄存器中的值?

适用于所有登记册:

代码语言:javascript
复制
info reg

对于特定的寄存器

代码语言:javascript
复制
info reg $eax

代码语言:javascript
复制
p $eax

代码语言:javascript
复制
p/x $eax

等等。

如何将所有显示打印到我的.txt文件中?换句话说,假设我已经启动了我的程序,并且它没有断点运行,然后我希望将这个显示打印到.txt文件中。所以我可以在纸上工作。如你所知,纸比计算机更强大:)

代码语言:javascript
复制
set logging file foobar.out
set logging on
票数 1
EN

Stack Overflow用户

发布于 2011-10-20 17:45:24

看看这个页面:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka12961.html -它是为ARM汇编程序,大多数应该适合所有的汇编程序。您可以将程序计数器设置为所需的指令,将值放入寄存器、视图寄存器、查看内存等。不要打印出来,我们几乎已经没有树了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7839660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档