這篇參考了禁衛軍的博客
lazarus遠程調試linux程序存在的主要問題是自帶的gdb.exe默認只有win64和win32兩個版本,缺少aarch64/loongarch64/x86_64等linux平臺的版本(以fpcupdeluxe安裝的lazarus為例)
一、下載各平臺對應的gdb.exe并拷貝到fpcupdeluxe/fpcbootstrap/gdb
通過網盤分享的文件:gdb
鏈接: https://pan.baidu.com/s/12pwYIWbMzLAAnxqvx3bMaw?pwd=8f7z 提取碼: 8f7z
暫缺x86_64-linux版的gdb.exe,參照禁衛軍的方法也沒編譯成功,那位有這個文件可以發郵箱給我(315795176),謝謝。
2025-03-06 成功編譯x86_64 linux版GDB.exe,并已更新網盤的gdb

二、在lazarus設置
1、IDE-->Options-->Debugger-->Debugger backend-->add--Name(填寫新的名稱:注意,不要用中文名稱)-->Debugger type and path-->點擊“change type”-->選擇“GNU remote debuger(gdbserver)”


2、GDB的路徑按以下設置:
$(TargetCPU)-$(TargetOS)\gdb.exe這樣設置后就會根據當前的CPU和OS自動選擇正確的gdb.exe
D:\fpcupdeluxe4\fpcbootstrap\gdb\$(TargetCPU)-$(TargetOS)\gdb.exe
3、設置Debugger_Remote_Hostname//要遠程調試電腦的IP
4、設置Debugger_Remote_Post//要遠程調試電腦的監聽端口號

三、在linux的操作步驟:
1、如果linux沒安裝gdbserver服務,按以下命令安裝,已安裝則跳過這步。
sudo apt install gdbserver
2、在linux運行gdbserver +:端口號+要調試的程序
gdbserver :2345 要調試的程序名稱
如:
gdbserver :2345 project1-aarchar64-linux
四、按以上操作后就可以以正常的方式進行遠程調試。
aarch64運行截圖:

windows的lazarus調試截圖:

注意:如果gdb.exe的版本比gdbserver低,會出現,請使用新版GDB.EXE再進行調試:


浙公網安備 33010602011771號