Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 英特尔AT&;的分步执行;T汇编程序?_Debugging_Assembly_Visualization_Intel_Att - Fatal编程技术网

Debugging 英特尔AT&;的分步执行;T汇编程序?

Debugging 英特尔AT&;的分步执行;T汇编程序?,debugging,assembly,visualization,intel,att,Debugging,Assembly,Visualization,Intel,Att,我正在编写一个编译器,将源代码(用小型命令式编程语言编写)转换为英特尔AT&T 32位汇编程序 由于生成的代码中存在严重的偏移错误等原因,我倾向于花费大量时间进行调试,我想知道是否有人知道一种工具可以一步一步地“遍历”生成的汇编代码,可视化堆栈上的内容等 我使用UbuntuLinux作为我的开发平台,我对终端很满意——不过GUI程序也不错。它存在吗?或者有没有一个很好的理由不这样做(也许问题不是那么简单……) 如果您对汇编代码中的调试任务有很好的想法,我将很高兴收到您的来信 编译过程的最终结果是

我正在编写一个编译器,将源代码(用小型命令式编程语言编写)转换为英特尔AT&T 32位汇编程序

由于生成的代码中存在严重的偏移错误等原因,我倾向于花费大量时间进行调试,我想知道是否有人知道一种工具可以一步一步地“遍历”生成的汇编代码,可视化堆栈上的内容等

我使用UbuntuLinux作为我的开发平台,我对终端很满意——不过GUI程序也不错。它存在吗?或者有没有一个很好的理由不这样做(也许问题不是那么简单……)


如果您对汇编代码中的调试任务有很好的想法,我将很高兴收到您的来信

编译过程的最终结果是否可以在调试器中实际执行并检查?如果是这样的话,它可能会很有用。

我喜欢Linux上的EDB(Evan的调试器)。它有一个很好的、易于使用的、基于QT4的GUI。它的开发者的目标是使它类似于OllyDbg。目前正在积极维护:


我很确定它也可以通过Ubuntu上的Synaptic安装。享受吧

我对Olly和EDB等调试器的经验非常有限,因此我无法解决这些调试器的问题。我最后

  • 分散调用源代码中的a,确定错误的寄存器值
  • 让编译器输出HTML格式的代码,并为活动性分析等中的不同迭代提供有用的元数据

。。它给出了一个“[currentdir]/sysdeps/i386/elf/start.S:没有这样的文件或目录”错误——也许我必须在编译器中实现类似于gcc中的“-g”选项的东西。。通过几次快速的互联网搜索,我们发现了一些类似的东西。我的猜测(纯粹的猜测)是,作为ddd基础的gdb正试图找到适合插入初始断点的地方。如果你用“as”编译结果汇编程序,那么它也会理解TNDS-g。我发现EDB实际上不是通过Synaptic获得的。您必须从FreshMeat提供的源程序包中编译它。