问题描述
我需要一个用于在Linux上组装的调试器。我对Linux的调试器的LACK非常惊讶!它应该有各种功能,如显示寄存器和什么不是。我会使用GDB,但是它不是与NASM非常友好的。我宁愿让调试器有intel语法,但是我可以做出牺牲。
我已经尝试过kdb,gdb / ddd和ald。有谁知道别的吗不要推荐strace,因为我正在超越系统调用!
我不知道你说的是什么意思gdb与NASM不友好。事实是,gdb使用AT& T表示法来显示汇编器。 NASM使用英特尔公式。有两个差异,您可以在google上找到。
您可以配置gdb以使用Intel符号显示汇编器。该命令设置为反汇编风味intel
您尝试过的程序,kdb,ddd和朋友都是gdb前端。即他们会在使用gdb作为后端时呈现不同的UI。
我认为你最好的,也许唯一合理的选择是gdb。其他的选择是编写自己的调试器,但这是很复杂的。
希望它有帮助。
I need a debugger for assembly on Linux. I am extremely surprised by the LACK of debuggers out there for Linux! It should have various features, such as showing the registers and what not. I would use GDB, however it isn't exactly friendly with NASM.
I would rather have the debugger have intel syntax however I can make a sacrifice.
I have tried kdb, gdb/ddd, and ald. Does anyone know of any else? Don't recommend strace, because I am going beyond syscalls!
I am not sure what exactly you mean when you say that gdb is not friendly with NASM. The thing is that gdb uses AT&T notation for displaying assembler. NASM uses Intel notation. There are couple of differences, which you can find on google.
You can configure gdb to display assembler using Intel notation. The command is set disassembly-flavor intel
Programs that you've tried, kdb, ddd and friends are all gdb front-ends. I.e. they present you different UI while use gdb as their back-end.
I think your best and perhaps the only reasonable option is gdb. Other option is to write debugger your-self, but this is quiet complicated.
Hope it helps.
这篇关于Linux装配调试器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!