这篇参考了禁卫军的博客
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号
浙公网安备 33010602011771号