このメッセージの意味は何であるか上の任意のアイデア?トレースポイント機能がgdbserver
でのみ実施され、ネイティブでデバッグするときにtstart
を使用することはできませんので、ないGDB自体に、(ときGDBは劣るが制御されます。
意味はメッセージが言うまさにです(デバッグ中)プロセスを直接実行する)。
代わりに、あなたは(まだ単一のマシン上で行うことができます)リモートデバッグセッションを設定する必要があります別ウィンドウで
gdbserver :10000 ./a.out # start gdbserver listening on port 10000
:
gdb -ex 'target remote :10000' ./a.out
今あなたが持っているでしょうリモートターゲット(同じホスト上で実行中のgdbserver
)を持つGDBとtstart
などが動作します。
更新:
しかし、今、私は以下のMSGを参照してください。あなたがtstart
を使用する前に
(gdb) tstart
Target does not support this command.
(gdb) r
The "remote" target does not support "run".
を、トレースを設定する必要があり、行動は、文書化されているようにhere。
また、下位プロセスがであるため、が実行されているため、run
にできません。代わりにcontinue
を使用してください。
アップデート2:
(gdb) trace testprog.c:273
Tracepoint 1 at 0x4578f7: file testprog.c, line 273.
(gdb) passcount 2 1
Setting tracepoint 1's passcount to 2
(gdb) actions 1
Enter actions for tracepoint 1, one per line.
End with a line saying just "end".
> collect id1
> end
(gdb) tstart
Target does not support this command
あなたgdbserver
が古い、そして事実ないサポートトレースでないようですね。
gdb --version
gdbserver --version
農産物を何?
アップデート3:
どうやらあなたgdbserver
は古すぎます。このオプションに「-fファイル名」を与えるために
は、私のプログラムが取る:
は、GDB自体、バージョン4.17以降トレースポイントをサポートしていますが、gdbserver
は
バージョン7.2にアップデート4をトレースポイントをサポートし始め入力として
シンプルです。あなたはgdbserverのためdocumentation読み取ることができますが、私はあなたがこの呼び出しを探していると信じて:reply..iための多くは、あなたが一つの端末で実行されている、すなわちgdbserverを上に書かれているものは何でも続く
gdbserver :10000 ./a.out -f filename
ハイテク...感謝をし、上記のようにgdb cmdを同じホスト上の別の端末で実行してください。これで、「トレースはリモートターゲット上でのみ実行可能です」というメッセージは表示されなくなりました。しかし、今私は次のmsgを参照してください:(gdb)tstart ターゲットはこのコマンドをサポートしていません。 (gdb)r 「リモート」ターゲットは「実行」をサポートしていません。 「ヘルプターゲット」または「続行」を試してください。 私のgdbバージョンも7.0です。何が問題なの?それは私のgdbでサポートされていませんか?私にお知らせください。 – mezda
私は1つの端末でこれを行いました: gdbserver:10000 ./testprog プロセス./testprogが作成されました。 PID = 31543 ホスト127.0.0.1 から他方の端子のポート10000 リモートデバッグを鑑賞: GDB -ex 'ターゲット遠隔:10000':273 トレースポイント1 (GDB)トレースtestprog.cを./testprog 0x4578f7で:testprogファイル。c、line 273を参照してください。 (gdb)passcount 2 1 トレースポイント1のパスカウントを2に設定する (gdb)アクション1 トレースポイント1のアクションを1行に1つ入力します。 "end"という行で終了します。 > collect id1 > end (gdb)tstart ターゲットでこのコマンドがサポートされていません このケースでは問題を教えてください。すべてのヘルプがたくさんあります。 – mezda
$ gdbの--version のGNU GDB(GDB)7.0-Ubuntuの $ gdbserverを--version GNUのgdbserverを(GDB)7.0-Ubuntuで 著作権(C)は、2009年、フリーソフトウェア財団、株式会社 gdbserverをはでカバー、フリーソフトウェアです。このgdbserverは "i486-linux-gnu"として設定されました バージョンが本当に問題であるかどうか教えてください。何か他の理由がありますか?バージョンが問題の場合は、どのバージョンをインストールするかによって問題が解決されます。 すべてのヘルプに感謝しています。あなたの答えは非常に有益です。 – mezda