HBehrens / puncover

Analyses C/C++ build output for code size, static variables, and stack usage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support C++ backtraces in "Analyze text snippet"

HBehrens opened this issue · comments

Here's a snippet provided by @sarfata . As you can see, it uses symbol names such as TaskManager::loop or tNMEA2000::ParseMessages:

GNU gdb (GNU Tools for ARM Embedded Processors 6-2017-q1-update) 7.12.1.20170215-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-pc-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
warning: No executable has been specified and target does not support
determining executable automatically.  Try using the "file" command.
0x000001bc in ?? ()
MDM: Chip is unsecured. Continuing.
k40.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001bc msp: 0x20008000
(gdb) load
Loading section .text, size 0x17394 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x17394
Loading section .data, size 0x7e8 lma 0x1739c
Start address 0x0, load size 97156
Transfer rate: 14 KB/sec, 12144 bytes/write.
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00000ade in RunStat::recordRun (this=this@entry=0x1fffc500, runTimeUs=7) at src/common/os/TaskManager.h:73
73            runCount++;
(gdb) bt
#0  0x00000ade in RunStat::recordRun (this=this@entry=0x1fffc500, runTimeUs=7) at src/common/os/TaskManager.h:73
#1  0x00000c74 in TaskManager::loop (this=0x1fff9060 <taskManager>) at src/common/os/TaskManager.cpp:53
#2  0x000054e4 in main () at /home/thomas/.platformio/packages/framework-arduinoteensy/cores/teensy3/main.cpp:23
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
tNMEA2000::Open (this=this@entry=0x1fffa920) at lib/NMEA2000/NMEA2000.cpp:307
307     }
(gdb) bt
#0  tNMEA2000::Open (this=this@entry=0x1fffa920) at lib/NMEA2000/NMEA2000.cpp:307
#1  0x0000cbc6 in tNMEA2000::ParseMessages (this=0x1fffa920) at lib/NMEA2000/NMEA2000.cpp:872
#2  0x00000c5e in TaskManager::loop (this=0x1fff9060 <taskManager>) at src/common/os/TaskManager.cpp:51
#3  0x000054e4 in main () at /home/thomas/.platformio/packages/framework-arduinoteensy/cores/teensy3/main.cpp:23
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00000c4a in TaskManager::loop (this=0x1fff9060 <taskManager>) at src/common/os/TaskManager.cpp:49
49          if ((*it)->ready()) {
(gdb) bt
#0  0x00000c4a in TaskManager::loop (this=0x1fff9060 <taskManager>) at src/common/os/TaskManager.cpp:49
#1  0x000054e4 in main () at /home/thomas/.platformio/packages/framework-arduinoteensy/cores/teensy3/main.cpp:23
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x0000f23c in tNMEA2000_teensy::CANSendFrame (this=0x1fffa920, id=<optimized out>, len=8 '\b', buf=0x1fffc28d "\004", wait_sent=false) at lib/NMEA2000_teensy/NMEA2000_teensy.cpp:46
46        for (int i=0; i<len && i<8; i++) out.buf[i] = buf[i];
(gdb) bt
#0  0x0000f23c in tNMEA2000_teensy::CANSendFrame (this=0x1fffa920, id=<optimized out>, len=8 '\b', buf=0x1fffc28d "\004", wait_sent=false)
    at lib/NMEA2000_teensy/NMEA2000_teensy.cpp:46
#1  0x0000bdc6 in tNMEA2000::SendFrames (this=this@entry=0x1fffa920) at lib/NMEA2000/NMEA2000.cpp:346
#2  0x0000cbd0 in tNMEA2000::ParseMessages (this=0x1fffa920) at lib/NMEA2000/NMEA2000.cpp:874
#3  0x00000c5e in TaskManager::loop (this=0x1fff9060 <taskManager>) at src/common/os/TaskManager.cpp:51
#4  0x000054e4 in main () at /home/thomas/.platformio/packages/framework-arduinoteensy/cores/teensy3/main.cpp:23