2011-06-20 30 views
3

Windows上で一部のアセンブラコードをデバッグしようとしています。私はOllydbgを使っていましたが、64ビットのexeファイルを開くことはできません。64ビットWindowsアセンブラデバッグ

そうしている私はまた、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)を参照してください。それらのうちの1つではなく、ollydbgです。 – DitherSky

答えて

2

理由を試して、そのMSと自由、here's the 64bit versionによってなさをwindbgの得られません。

+0

よく私はそれを試み、それを動作させることができませんでしたが、objdump -dを使って出力を有効なCプログラムと比較することで問題を解決しました。 –

+0

@jpalmer:どの部分がうまくいきませんでしたか? – Necrolis

+0

@jpalmer:あなたの問題がある場合は、これが役に立つかもしれません:http://www.nynaeve.net/?p=8 – Necrolis

1

Visual studionには、32ビットと64ビットの両方のウィンドウ用の優れたデバッガがあります。 nasmまたはyasmアセンブラを使用している場合は、アセンブラで-gcv8オプションを使用します。これは、Visual Studioで動作するデバッグ情報を生成します。 C/C++とasmファイルの両方を含むVSでプロジェクトを作成する必要があります。 asmファイルには、次のようなカスタムビルドルールが必要です。 CommandLine = "yasm -fwin64 -gcv8 -o $(InputName).obj [inputs]"Outputs = "$(InputName).obj"

関連する問題