ホットスポットで-XX:+PrintAssembly
を使用し、恐ろしいAT & T構文を読まなければならないたびに、私は気になります。Hotspot7 hsdis PrintAssembly Intel構文
インテルの構文を使用する方法はありますか?
ホットスポットで-XX:+PrintAssembly
を使用し、恐ろしいAT & T構文を読まなければならないたびに、私は気になります。Hotspot7 hsdis PrintAssembly Intel構文
インテルの構文を使用する方法はありますか?
必要なのは、DIS-asm.hとbinutilsのコード
上にいくつかのオプションを解析することです (私も好む)インテルASMのちょうどそう
のようにカンマで次-XX:PrintAssemblyOptions=intel
あなたはオプション結合する必要がある場合は、それを行うに追加
-XX:PrintAssemblyOptions=intel,hsdis-help
hsdisオプションは逆アセンブラに供給されるように認識されていないものは、これらのオプションは、あなたが上で実行しているシステムで、ちなみに
objdump --help
... <SNIP A lot of --help text %<> ...
The following i386/x86-64 specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
x86-64 Disassemble in 64bit mode
i386 Disassemble in 32bit mode
i8086 Disassemble in 16bit mode
att Display instruction in AT&T syntax
intel Display instruction in Intel syntax
att-mnemonic
Display instruction in AT&T mnemonic
intel-mnemonic
Display instruction in Intel mnemonic
addr64 Assume 64bit address size
addr32 Assume 32bit address size
addr16 Assume 16bit address size
data32 Assume 32bit data size
data16 Assume 16bit data size
suffix Always display instruction suffix in AT&T syntax
Report bugs to <http://www.sourceware.org/bugzilla/>.
うわー、それはちょうどいいです!彼らは実際にどこかで言及することができますが、それは 'PrintAssemblyOptions'でなければならないことを知っていても、私はgoogleでそのドキュメントを見つけることはできません。 – Voo
私はこれを行うための既存の方法はないと思います。しかし、これは私が見つけたものです。 Hereはhsdis
の出典です。 -masm=intel
をGCCに渡してMakefile
を変更することができます。そしてそれがうまくいくならば、+PrintAssembly
はインテル構文アセンブリの出力を開始するはずです。
ソースを取得して最終的に分解作業を行うものであるhsdis-arch.so
を取得するのはstep by step procedureです!
私はこれを自分で試していません。私はあなたがこの作業を取得たい:)
何も動作した場合、これはAT&T Syntaxとあなたが快適にする必要があります:)
ありがとうございますが、どこに '-masm = intel'をmakefileに追加するのですか?私はちょうど 'CFLAGS + = -masm = intel'をしましたが、それはそのトリックをしません。 – Voo
'CFLAGS'は適切な場所ですが、なぜあなたのために働いていないのか分かりません。 'hsdis-arch.so'が生成されていますか?このデバッグオプションを追加した後の違いは何ですか? –
soファイルはうまく生成されますが、出力はそのままです(つまりAT&T)。エラーメッセージもありません。それが重要なのなら、はい、私は自分の道に鼻水をインストールしていますか? – Voo
から一覧表示され、同じものですか? –
@パヴァン私が理解しているように、すべてのOSに1つのバイナリがありましたので、クロスプラットフォームの作業方法を得ることができると期待していました。ほとんどの場合openSUSEとWindows。残念ながらあなたの答えが示しているように - 私がコンパイル時にそのようなオプションを渡すことができれば、それを行うためのより良い方法はないのでしょうか?それを試みます。 – Voo
ウィンドウの場合、デフォルトでintel構文を取得する必要があります! –