2016-12-14 15 views
0

リモートマシンのgdbにDDDを接続しようとしています。私は私のマシン&ユーザ名のためのパスを必要としないようにrshを設定しました。gdbを起動できませんでした - リモート下位デバッガへのDDD

「rtx5:1234:not found」と表示され、「GDBを起動できませんでした」というポップアップが表示されます。 DDD --host rtx5呼び出しから:

2159 --trace --no-EXEC-ウィンドウ/ホーム/マレー/ビール・プロセスを
# Running GDB (pid 2826, tty /dev/pts/1)... 
# Current language: C/C++ 
# Searching "vsllib/ddd.vsl"... 
# Trying "/home/murray/.ddd/vsllib/ddd.vsl" 
# Trying "/usr/share/ddd-3.3.12/vsllib/ddd.vsl" 
# Searching "vsllib/ddd.vsl"..."/usr/share/ddd-3.3.12/vsllib/ddd.vsl". 
<- "sh: line 0: exec: rtx5:2159: not found\n" 
# Running GDB (pid 2826, tty /dev/pts/1)...Exit 127. 

トレースログからDDDによって開始されたGDBのPIDは4桁です。しかし、私がrtx(ターゲット)から見ることができるすべてのPIDは8桁です。私はプロセスとしてgdbを見ることができませんが、トレースログはそれ以外の場合を示します。ドキュメントは最新ではありません。私はそれを間違って呼びますか? dddが正しくrsh-ingしているかどうかをテストするにはどうすればいいですか?

私はdocs 2.4.1の注意事項に対処している:

  • ビール・プロセスのバイナリがターゲット上の自分のユーザー名のホームディレクトリにある

    • はrtx5したがってxtermのを持たない
    • の/ usr/binに/ GDBにGDBのパスをチェック--no-EXECウィンドウフラグを含む予め

    おかげ

  • +0

    自分で研究したことがある場合は、それも共有してください。最初に何かをしてより具体的な質問をすると、投稿はより歓迎されます。 –

    答えて

    0

    TLDRは:持っていましたホスト上のファイアウォールはdddのrsh接続にのみ干渉します。私はまた、 "rsh rtx5"に "rtx5"を代用しなければなりませんでした。リモートターゲットのホームディレクトリにあるにもかかわらず、私はそれを渡すプログラムを見つけることはありません。しかし、私はddd-guiを使ってそれを見つけ出し、読み込んで、デバッグすることができます。

    パスワードなしでrtx5にrshしてから、gdbを呼び出すことができます。 "rsh rtx5 gdb"を実行できず、gdbを起動できませんでした。これはrshが原因です。 rshがコマンドなしで呼び出されると、514から動作します。rshがコマンドで呼び出された場合、それは通信し、別のポート番号に移動しようとします。これは私のファイアウォールがブロックしていた場所です。
    Wiresharkのは、RSH接続した後、ターゲットにローカルから私を示した:

    destination unreachable (host administratively protected) 
    

    dddが、まだ私は、リモートのホームディレクトリにあるバイナリをロードできないことを主に問題があります。これにより、リモートホスト上で実行中のプロセスにアタッチすることができます。どちらの場合も、接続が確立されるとGUI経由でロード/接続できます。
    さらに、リモートホスト名の先頭に 'rsh'を付けてdddを呼び出す必要があります。これは間違っているようです。私はもっ​​と多く持っているときに私は更新します。

    関連する問題