[英]List command is not loading source code of assembly program in gdb
我正在使用 gdb [7.11.1] kali linux 32 位,當我使用 list 命令在 gdb 中加載我的匯編程序的源代碼時,它顯示以下錯誤消息:'沒有加載符號表。 使用“文件”命令'
我試過命令如下:
list list line_number
在這兩種情況下,錯誤是相同的。
請幫我
謝謝! 提前
我使用list命令來加載程序集的源代碼
List命令不執行任何操作 。 而是列出了GDB已經加載的源。
as -o progname.o progname.s
就您而言,GDB不會加載任何源,因為您在編譯程序時沒有任何調試信息。 您可能想要:
as -g -o progname.o progname.s
來自人為 :
-g
--gen-debug
Generate debugging information for each assembler source line
using whichever debug format is preferred by the target. This
currently means either STABS, ECOFF or DWARF2.
當我試圖調試我的 c 代碼以解決緩沖區溢出問題時,我遇到了同樣的問題。 由於干凈編譯而沒有生成任何調試信息,因此會出現該錯誤。 對於 c 程序,而不是像gcc program.c
那樣正常編譯嘗試運行gcc -g -fno-stack-protector -z exec stack -o buffer program.c
。
-g
告訴 GCC 為 GDB 添加額外信息
-fno-stack-protector
標志關閉堆棧保護機制
-z execstack
,它使堆棧可執行
這個命令將創建一個你的 c 程序的buffer
二進制文件,因此它將滿足在 gdb 中運行 list 命令的所有條件。
使用gdb ./buffer
啟動 gdb,然后鍵入list
命令。 它會起作用!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.