GDB版本8 3之後除錯設定斷點出現問題

2021-10-02 16:03:09 字數 927 閱讀 3553

今天除錯乙個程式漏洞時,出現了當時剛接觸linux時遇到的問題,如下面所示

pwndbg> b * 0x11b5

breakpoint 1 at 0x11b5

pwndbg> r

starting program: /root/desktop/first

warning:

cannot insert breakpoint 1.

cannot access memory at address 0x11b5

這其實很早之前我遇到的乙個問題了,當時只知道是gdb版本大於7.幾才會出現的問題,但是當時沒怎麼折騰出來,乾脆重新裝了乙個老的linux系統,現在重新用的linux5.4.0核心,預設自帶8.3最新版的gdb,所以問題出現了,這次就一定要解決

在國內的各大論壇**上找不到解決方法後,我掛上梯子,去國外找了一下答案,原因不多說,就是gdb版本的問題

gdb版本在8.0以上需要在除錯的一開始輸入

starti

記住,一定要在除錯的一開始輸入starti,以除錯乙個上述的first可執行二進位制檔案為例

pwndbg>starti

starting program: /root/desktop/first

pwndbg> b * 0x11b5

breakpoint 1 at 0x11b5

這樣就能正常進行除錯設定斷點了

GDB 斷點設定

啟動gdb後,首先就是要設定斷點,程式中斷後才能除錯。在gdb中,斷點通常有三種形式 斷點 breakpoint 在 的指定位置中斷,這個是我們用得最多的一種。設定斷點的命令是break,它通常有如下方式 可以通過info breakpoints n 命令檢視當前斷點資訊。此外,還有如下幾個配套的常...

GDB(設定斷點)

啟動gdb後,首先就是要設定斷點,程式中斷後才能除錯。在gdb中,斷點通常有三種形式 斷點 breakpoint 在 的指定位置中斷,這個是我們用得最多的一種。設定斷點的命令是break,它通常有如下方式 可以通過info breakpoints n 命令檢視當前斷點資訊。此外,還有如下幾個配套的常...

ROS使用gdb除錯斷點

我目前沒有使用roslaunch 通過修改 launch prefix xterm e gdb ex run args 獲得成功。我使用gdb去啟動orb slam節點。在 catkin ws devel lib orb slam下,終端開啟輸入 gdb orb slam雖然我會提示 reading...