Macプラットフォームで32ビットのnaclexeをデバッグしたいと思っています。Macプラットフォームでは、32ビットのnacl-gdbが見つからなかったため、デバッグできませんでした。誰かがそれをうまくやったことがありますか?
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 はネイティブ クライアントのコンテンツを実行する前に、デバッガーが接続するのを待機します。