1、用CLion调试一个linux c++程序(root权限),启动debugee时,左下角经常出这个错误:
Error running 'xxx': UNAVAILABLE: io exception
无法运行被调试的程序。重启CLion也不行,要重启机器才行。
查这个错误信息,是一个io.grpc.StatusRuntimeException错误,估计还有个程序和CLion通信,需要重启那个程序。
2、用CLion和vscode调试一个x86_64 debug版的程序(musl gcc编译的),经常是在断点位置做step over的单步操作时,直接飞了,程序完全运行了,而不是停在下一行代码上。
vscode调用的我自己编译的gdb 12.1。
改用我编译的gdb 12.1直接调试,也是如此。
把CLion里自带的的gdb 12.1更换为其自带的lldb,step over不跑飞,会停在下一行,但是每次step over需要耗时几十秒,等于不能用这个单步功能,而且搞几次后会导致debugee进程退出。
但是换到aarch64上用gdb 12.1直接调试,step over又是正常的。
猜测问题出在gdb对DWARF信息的处理上,不过要定位还是挺麻烦的。
总的来说,linux的调试体验,比windows的MS debugger要差太多了
--
FROM 114.240.244.*