0

我正在尝试使用 OpenOCD 调试在 LaunchPad CC1312r1 板上运行的 contiki-ng 应用程序。当我向源文件中的一行添加断点时,gdb 获取错误的行号。

(gdb) b packet-send.c:34
Breakpoint 1 at 0x14d46: file ../seneco/communication/udp/packet-send.c, line 60.

我编写了一个小型演示应用程序并且可以正常工作,但是我无法在我应该调试的应用程序中获得正确的行号。

(gdb) b my-cng-example.c:57
Breakpoint 1 at 0xa072: file my-cng-example.c, line 57.

我曾尝试在我的本机 PC 上使用 contiki-ng docker 映像进行编译。我试过 gdb-multiarch 和 arm-none-eabi-gdb。我正在为 OpenOCD 使用 TI 存储库,它支持 LaunchPad CC1312r1。

调试器报告以下编译器标志:

(gdb) info source
Current source file is ../seneco/communication/udp/packet-send.c
Compilation directory is /home/david/gitlab/seneco-contiki-ng/seneco
Located in /home/david/gitlab/seneco-contiki-ng/seneco/communication/udp/packet-send.c
Contains 65 lines.
Source language is c.
Producer is GNU C99 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] -mcpu=cortex-m4 -mthumb -mabi=aapcs -mlittle-endian -mfloat-abi=soft -march=armv7e-m -g -O0 -Os -std=c99 -fno-common -ffunction-sections -fdata-sections -fno-strict-aliasing -fshort-enums -fomit-frame-pointer -fno-builtin.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
4

1 回答 1

0

我试图设置断点的行已被预处理器定义删除。gdb 只是在下一个有效行设置断点。

于 2021-09-02T09:35:44.443 回答