我試圖遠程調試在地址爲192.168.98.64的計算機上運行的應用程序。在該機器上我運行:GDB遠程調試,似乎無法找到符號
gdbserver serveripaddr:4444 progname從服務器
然後我跑「廣發行」,然後在gdb的提示符下運行:
(gdb) target remote 192.168.98.64:4444 Remote debugging using 192.168.98.64:4444 [New Thread 28432] warning: Could not load vsyscall page because no executable was specified try using the "file" command first. 0xb775e810 in ??() (gdb) break internal[TAB]
試圖設置時,我期待TAB鍵的按壓我的斷點提出了一個以內部開始的相應函數列表,但它沒有提供任何東西。這個代碼已經用-g打開了調試。我究竟做錯了什麼?
如果我不使用'在編譯時-g'然後我就可以僅僅通過標籤moove我手動定義。調試符號究竟是什麼? GDB是否爲源文件的每一行創建一個標籤'1:','2:','3:'...? – 71GA
符號是在二進制文件(調試模式)中編譯以將指令關聯到代碼文本的信息。這樣你就可以在調試器中看到人類可讀的信息。爲了達到這個目的,你必須用'-g'編譯並放在源代碼目錄中,這樣'gdb'才能找到調試二進制指向的源文件。 –