0

Macプラットフォームで32ビットのnaclexeをデバッグしたいと思っています。Macプラットフォームでは、32ビットのnacl-gdbが見つからなかったため、デバッグできませんでした。誰かがそれをうまくやったことがありますか?

4

1 に答える 1

1

Native Client 用の GDB は Pepper 23 でリリースされたので、まず NaCl SDK の Pepper 23 バージョン以降を使用していることを確認してください。(SDK の新しいバージョンをダウンロードするには、ディレクトリから発行./naclsdk updateしますnacl_sdk。完了すると、pepper_23ディレクトリ (またはそれ以降) が表示されます。そのディレクトリ内のツールを使用します。)

SDK では、GDB バイナリは次の場所にあります (Pepper 23 に基づく例)。

nacl_sdk/pepper_23/toolchain/mac_x86_glibc/bin/i686-nacl-gdb
nacl_sdk/pepper_23/toolchain/mac_x86_glibc/bin/x86_64-nacl-gdb
nacl_sdk/pepper_23/toolchain/mac_x86_newlib/bin/i686-nacl-gdb
nacl_sdk/pepper_23/toolchain/mac_x86_newlib/bin/x86_64-nacl-gdb

この 2 つi686-nacl-gdbは、実際には 2 つへの単なるシンボリック リンクx86_64-nacl-gdbです。x86_64-nacl-gdbバイナリを使用すると、32 ビットと 64 ビットの両方の x86 NaCl ターゲットをデバッグできます。.nexeただし、Mac では、OS またはマシンが 64ビットであっても、Chrome は常に 32 ビットであり、常に 32 ビットを実行します。

newlib と glibc ツールチェーンの両方に、完全なツール セットが含まれています。x86_64-nacl-gdbこれが、2 つのバイナリがある理由です。現在、これら 2 つに違いはありませんが、ビルドに使用するツールと同じディレクトリにある GDB を使用するのがおそらく最も簡単です。

https://developers.google.com/native-client/devguide/devcycle/debugging#gdbに追加のガイダンスがあります。--enable-nacl-debug最も重要なことは、フラグを Chromeに渡すか、Chrome の about:flags で有効にすることです。これにより、Chrome はネイティブ クライアントのコンテンツを実行する前に、デバッガーが接続するのを待機します。

于 2012-12-24T10:47:50.267 に答える