CLion 中的 J-Link GDB 调试
Posted
技术标签:
【中文标题】CLion 中的 J-Link GDB 调试【英文标题】:J-Link GDB debugging in CLion 【发布时间】:2017-01-25 20:24:45 【问题描述】:不久前 CLion added support for Remote GDB debugging 我正在尝试使用 Seggers 的 J-Link GDB 服务器进行设置。
我的设置:
运行 Ubuntu 16.04 的 VM VirtualBox J-Link 驱动程序:V6.10 目标芯片:nRF51(ARM Cortex M0) CLion 2016.2.2我通常在 Windows 中工作,但由于 CLion 不支持 Windows 中的远程 GDB,我试图让它在 VirtualBox 中运行 Ubuntu。我在 CLion 中配置了调试器,如图所示,上面链接中的博客提供了一些帮助。我使用的论据基于 J-Link 文档(文档:UM08001)和一些猜测。 GDB server setup
我的问题是,当运行调试器时,进程会停止并且 CLion 的控制台输出:
“无法连接到目标。请检查电源、连接和 设置。”
我曾尝试从终端运行 JLinkGDBServer,然后我得到了这样的结果:
/usr/bin/JLinkGDBServer -device nrf51422_xxAC -if swd -speed 1000 -endian little
SEGGER J-Link GDB Server V6.10 Command Line Version
JLinkARM.dll V6.10 (DLL compiled Sep 14 2016 16:46:16)
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 2331
SWO raw output listening port: 2332
Terminal I/O port: 2333
Accept remote connection: yes
Generate logfile: off
Verify download: off
Init regs on start: off
Silent mode: off
Single run mode: off
Target connection timeout: 0 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: nrf51422_xxAC
Target interface: SWD
Target interface speed: 1000kHz
Target endian: little
Connecting to J-Link...
J-Link is connected.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jul 5 2016 08:42:09
Hardware: V1.00
S/N: 681666518
Checking target voltage...
Target voltage: 3.30 V
Listening on TCP/IP port 2331
Connecting to target...Connected to target
Waiting for GDB connection...
有人知道我做错了什么吗?
【问题讨论】:
【参考方案1】:您可能混淆了 GDB 服务器和 GDB 本身。这些是应该在 CLion 的 GDB 远程调试配置中设置的 GDB 选项,而不是 GDB 服务器设置。
也就是说,您首先手动运行 JLinkGDBServer,例如从终端,就像您已经完成的那样,然后让它等待 GDB 附加。此时应该注意连接端口:
监听 TCP/IP 端口 2331 连接到目标...连接到目标 等待 GDB 连接...然后在 CLion 中编辑您的 GDB 远程调试配置以使用主机 GDB(在您的情况下很可能是 /usr/bin/gdb
,如有必要,请使用 sudo apt install gdb
安装它),并使用上述端口作为“目标远程" 字符串:
/usr/bin/gdb
“目标远程”参数::2331
注意端口前面的冒号。这是使用 TCP 连接到 localhost 的简写。以防万一,显式形式为tcp:localhost:2331
。
现在您可以开始调试会话了。 CLion会启动配置好的主机GDB,GDB通过指定的TCP连接与JLinkGDBServer通信,最后GDB服务器与你的设备聊天。
【讨论】:
这可以在 IntelliJ 社区版上使用吗?谢谢! @Geob-o-matic,不,此功能仅在 CLion 中可用。 谢谢你,然后坚持使用 eclipse... :'( @Geob-o-matic 您可能想查看 30 天试用版,或者从 EAP 版本开始,它也是免费的。 我不能这样做,因为提供的 SDK 是基于 eclipse 的,我只是想找到一种“流氓”方法来提高我的 QOL,但最后,我需要与 eclipse 设置保持兼容无论如何要和我的同事一起工作。如果我们使用提供的 IDE 以外的其他 IDE,我们将不会从我们的提供商那里获得支持 :)以上是关于CLion 中的 J-Link GDB 调试的主要内容,如果未能解决你的问题,请参考以下文章