gdbでリモートデバッグすることを拒否する比較的シンプルなアプリケーション(他の単純なライブラリにリンクされている)があります。 gdbとgdbserverのバージョンが一致していることを確認しました。それは実際には両方のマシン上の同じOS(ubuntu)です。これは、実行可能ファイルからうまくシンボルをロードしているようです。だから私は間違っている可能性があるために少し損失があります。任意の提案が高く評価されました。ここにgdbからの転写物があります:リモートgdbのスタックトレースにシンボル(疑問符のみ)がありません
dev:/fast/git/archive/foo$ gdb /fast/git/foo
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /fast/git/foo...done.
(gdb) target remote test1:5000
Remote debugging using test1:5000
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...Reading /lib64/ld-2.23.so from remote target...
Reading /lib64/.debug/ld-2.23.so from remote target...
(no debugging symbols found)...done.
0x00007ffff7dd7cc0 in ??() from target:/lib64/ld-linux-x86-64.so.2
(gdb) bt
#0 0x00007ffff7dd7cc0 in ??() from target:/lib64/ld-linux-x86-64.so.2
#1 0x0000000000000003 in ??()
#2 0x00007fffffffce02 in ??()
#3 0x00007fffffffce2f in ??()
#4 0x00007fffffffce32 in ??()
#5 0x0000000000000000 in ??()
ああ、面白いです。私はまだそれがなぜ分かりませんが、接続時には(偽のスタックトレース)しか表示しません。私が「続行」すると、休憩をトリガーすると、うれしく右のシンボルが印刷されます。
奇数...これは部分的にユーザーエラーですが、接続したときに実行を開始してメインの開始を中断すると予想されました。
このプログラムをどのようにコンパイルしましたか?どのようなコマンドですか? –
gcc -std = c99 -D_GNU_SOURCE -O0 -g3 -Wall -c -fmessage-length = 0 -ggdb -fPIC -MMD -MP -MF「foo.d」-MT「foo.o」-o「foo.o」 "" ../foo.c " リンカ:gcc -L ../../ library/Debug -o" bitbucket "./bitbucket.o -lentangle -lrt – rivenmyst137