今天除錯乙個程式漏洞時,出現了當時剛接觸linux時遇到的問題,如下面所示
pwndbg> b * 0x11b5breakpoint 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...