2011-06-20 97 views
3

我想在Windows上调试一些汇编代码。对于32位代码,我使用的是Ollydbg,但无法打开64位的exe文件。64位窗口汇编器调试

我也使用Visual Studio调试器尝试,但我认为堆栈以某种方式得到损坏,我无法弄清楚如何放置在程序入口断点,所以这是行不通

那么,有没有任何免费程序的工作?

如果它的事项我使用NASM,然后GCC编译器的exe的

+0

无论实用性本话题我也需要一个调试器。所以随机我发现了一些:[FDBG](http://fdbg.x86asm.net/),[Visual DuxDebugger](http://www.duxcore.com/index.php/prod/visual-duxdebugger/overview )和[PEbrowseDbg64](http://www.smidgeonsoft.prohosting.com/pebrowse-pro-interactive-debugger.html)。虽然其中一个不如ollydbg。 – DitherSky

回答

2

为什么不给WinDbg的一个尝试,通过MS和自由,here's the 64bit version其制成。

+0

以及我试过,并不能得到它的工作,我最终通过比较输出到一个有效的C程序使用objdump -d –

+0

@jpalmer来解决问题:什么部分不工作? – Necrolis

+0

@ jpalmer:如果你遇到问题,你可能会发现这个:http://www.nynaeve.net/?p=8 – Necrolis

1

Visual studion对于32位和64位窗口都有出色的调试器。 如果您使用的是nasm或yasm汇编程序,请在汇编程序上使用选项-gcv8。这会产生可与Visual Studio配合使用的调试信息。您必须在VS中创建一个包含C/C++和asm文件的项目。该ASM文件需要一个自定义生成规则看起来像: 的CommandLine = “YASM -fwin64 -gcv8 -o $(InputName)的obj [材料]” 输出= “$(InputName)的obj”