Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debugging hangs until relaunch #635

Closed
saloid opened this issue Apr 15, 2022 · 14 comments
Closed

Debugging hangs until relaunch #635

saloid opened this issue Apr 15, 2022 · 14 comments

Comments

@saloid
Copy link

saloid commented Apr 15, 2022

I'm trying to debug STM32F4 hardware with freeRTOS using J-link, but after succesfull launch and run, debug totally hangs when it hits one of breakpoints (hardware or __asm__("BKPT")). All action buttons (reset, pause and restart) became unresponsive (I can press them and even see command in debug console, but nothing else).

Before reaching breakpoint everything works fine (I can run and pause, do step-by-step debugging and everything else), but when breakpoint is reached everything hangs. If I close and launch debug session again - I can see that execution stopped at my breakpoint.

launch.json
{
"version": "0.2.0",
    "configurations": [
        {
            "name": "Jlink",
            "cwd": "${workspaceRoot}",
            "executable": "${workspaceRoot}/build/first_part.elf",
            "request": "attach",
            "type": "cortex-debug",
            "servertype": "jlink",
            "svdFile": "${workspaceRoot}/STM32F407.svd",
            "interface": "swd",
            "device": "STM32F407VG",
            "armToolchainPath": "/home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-10.3-2021.10/bin",
            "showDevDebugOutput": true,
            "preAttachCommands": [
                "set substitute-path /tmp/opentx ${workspaceRoot}/new_sources_path",
                "add-symbol-file ${workspaceRoot}/build/another_part.elf 0x080c0080",
            ],
            "rtos": "FreeRTOS",
            "moduleLoad": true,
        }
    ]
}

When brekpoint is reached (and debug hangs) I can see this in debug console:

GDB -> App: {"output":"","outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-created","output":[["id","3"],["group-id","i1"]]}]}
GDB -> App: {"output":"","outOfBandRecord":[{"isStream":true,"type":"console","content":"[New Thread 268445668]\n"}]}
[New Thread 268445668]
GDB -> App: {"output":"","outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"breakpoint-modified","output":[["bkpt",[["number","1"],["type","breakpoint"],["disp","keep"],["enabled","y"],["addr","0x080c38b8"],["func","main_loop_task"],["file","[/some_source.c]()"],["fullname","[/some_source.c]()"],["line","247"],["thread-groups",["i1"]],["times","1"],["original-location","[/some_source.c:247]()"]]]]}]}
GDB -> App: {"output":"","outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-exited","output":[["id","3"],["group-id","i1"]]}]}
GDB -> App: {"output":"","outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-created","output":[["id","4"],["group-id","i1"]]}]}
GDB -> App: {"output":"","outOfBandRecord":[{"isStream":true,"type":"console","content":"[New Thread 4748040]\n"}]}
[New Thread 4748040]
GDB -> App: {"output":"","outOfBandRecord":[{"isStream":true,"type":"console","content":"[Switching to Thread 268445668]\n"}]}
[Switching to Thread 268445668]

And buttons are still in "Running state" (but really device is stopped)
image

When I push any button (reset, pause or restart) this appears in debug console:

94-exec-interrupt 
GDB -> App: {"output":"","token":94,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}}

Cortex-debug 1.4.4

@saloid
Copy link
Author

saloid commented Apr 15, 2022

Seems that it depends on GDB version: GNU gdb (GNU Tools for ARM Embedded Processors) 7.4.1.20130913-cvs works better, but disassembly doesn't work here

@haneefdm
Copy link
Collaborator

As you can see, we are attempting to pause the program via GDB and neither is responding. We rely 100% on GDB to do the right thing which then relies on JLink to do the right thing. We have to pause GDB before we can issue any more commands. In the output above, it is says the 94-exec-interrupt succeeded so not sure what is the problem if you see nothing after that.

If a program halts by itself, JLink is supposed to report that to GDB. It doesn't matter is that is due to a breakpoint or __asm__("BKPT")

Yes, gdb 7.4.1 is quite old. I have had a lot of issues with late 2021 releases but early 2021 releases were okay.

Also, I need a bit more of the output from the Debug Console -- from the point the breakpoint was hit. Try "showDevDebugOutput":"raw" for more compact output.

@saloid
Copy link
Author

saloid commented Apr 17, 2022

@haneefdm, thanks for your reply. Here is debug output with "showDevDebugOutput":"raw" when program hits breakpoint:

❌ARM GDB 10.3-2021.10 (GUI not responding)
-> =thread-created,id="3",group-id="i1"
-> ~"[New Thread 268445668]\n"
[New Thread 268445668]
-> =thread-exited,id="3",group-id="i1"
-> =thread-created,id="4",group-id="i1"
-> ~"[New Thread 4748040]\n"
[New Thread 4748040]
-> ~"\nThread "

Thread 
-> ~"3 received signal SIGTRAP, Trace[/breakpoint]() trap.\n"
3 received signal SIGTRAP, Trace[/breakpoint]() trap.
-> ~"[Switching to Thread 268445668]\n"
[Switching to Thread 268445668]
❌ARM GDB 9-2020-q2-update (GUI not responding)
-> =thread-exited,id="2",group-id="i1"
-> =thread-created,id="3",group-id="i1"
-> ~"[New Thread 4748040]\n"
[New Thread 4748040]
-> =thread-created,id="4",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> ~"\nThread "

Thread 
-> ~"2 received signal SIGTRAP, Trace[/breakpoint]() trap.\n"
2 received signal SIGTRAP, Trace[/breakpoint]() trap.
-> ~"[Switching to Thread 268445668]\n"
[Switching to Thread 268445668]
✅ARM GDB 7.4.1.20130913-cvs (GUI works)
-> ~"[Switching to Thread 268445668]\n"
[Switching to Thread 268445668]
-> *stopped,reason="signal-received",signal-name="SIGTRAP",signal-meaning="Trace/breakpoint trap",frame={addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/source1.cpp",fullname="/full/path/source1.cpp",line="755"},thread-id="1",stopped-threads="all"
mi2.status = stopped
40-thread-list-ids
-> =thread-exited,id="1",group-id="i1"
-> =thread-created,id="2",group-id="i1"
-> ~"[New Thread 4748040]\n"
[New Thread 4748040]
-> =thread-created,id="3",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> 40^done,thread-ids={thread-id="3",thread-id="2"},number-of-threads="2"
41-thread-select 3
-> 41^done,new-thread-id="3",frame={level="0",addr="0x00000000",func="??",args=[]}
42-data-read-memory-bytes "0xe000ed00" 64
-> 42^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f410308000000c00008000305fa000000000002000000000000000000000000f0f000000000000002000000004002000000f8ed00e0f8ed00e000000000"}]
43-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> 43^done
44-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 44^done
45-data-list-register-values x
-> 45^done,register-values=[{number="0",value="0x0"},{number="1",value="0x0"},{number="2",value="0x0"},{number="3",value="0x0"},{number="4",value="0x0"},{number="5",value="0x0"},{number="6",value="0x0"},{number="7",value="0x0"},{number="8",value="0x0"},{number="9",value="0x0"},{number="10",value="0x0"},{number="11",value="0x0"},{number="12",value="0x0"},{number="13",value="0x0"},{number="14",value="0x0"},{number="15",value="0x0"},{number="25",value="0x0"},{number="91",value="0x100007e0"},{number="92",value="0x100027a8"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x0"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a3"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
46-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> 46^done
47-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 47^done
48-thread-info 3
-> 48^done,threads=[{id="3",target-id="Remote target",frame={level="0",addr="0x00000000",func="??",args=[]},state="stopped"}]
49-thread-info 2
-> 49^done,threads=[{id="2",target-id="Thread 4748040",details=" [P: 0]",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/source1.cpp",fullname="/full/path/source1.cpp",line="755"},state="stopped"}]
50-thread-list-ids
-> 50^done,thread-ids={thread-id="3",thread-id="2"},current-thread-id="3",number-of-threads="2"
51-thread-info 3
-> 51^done,threads=[{id="3",target-id="Remote target",frame={level="0",addr="0x00000000",func="??",args=[]},state="stopped"}]
52-thread-info 2
-> 52^done,threads=[{id="2",target-id="Thread 4748040",details=" [P: 0]",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/source1.cpp",fullname="/full/path/source1.cpp",line="755"},state="stopped"}]
53-data-read-memory-bytes "0xe000ed00" 64
-> 53^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f410308000000c00008000305fa000000000002000000000000000000000000f0f000000000000002000000004002000000f8ed00e0f8ed00e000000000"}]
54-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> 54^done
55-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 55^done
56-data-list-register-values x
-> 56^done,register-values=[{number="0",value="0x0"},{number="1",value="0x0"},{number="2",value="0x0"},{number="3",value="0x0"},{number="4",value="0x0"},{number="5",value="0x0"},{number="6",value="0x0"},{number="7",value="0x0"},{number="8",value="0x0"},{number="9",value="0x0"},{number="10",value="0x0"},{number="11",value="0x0"},{number="12",value="0x0"},{number="13",value="0x0"},{number="14",value="0x0"},{number="15",value="0x0"},{number="25",value="0x0"},{number="91",value="0x100007e0"},{number="92",value="0x100027a8"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x0"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a3"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
57-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> 57^done
58-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 58^done
59-stack-info-depth --thread 3 10000
-> 59^done,depth="2"
60-stack-list-frames --thread 3 0 1
-> 60^done,stack=[frame={level="0",addr="0x00000000",func="??"},frame={level="1",addr="0x00000000",func="??"}]
61-thread-list-ids
-> 61^done,thread-ids={thread-id="3",thread-id="2"},current-thread-id="3",number-of-threads="2"
62-thread-info 3
-> 62^done,threads=[{id="3",target-id="Remote target",frame={level="0",addr="0x00000000",func="??",args=[]},state="stopped"}]
63-thread-info 2
-> 63^done,threads=[{id="2",target-id="Thread 4748040",details=" [P: 0]",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/source1.cpp",fullname="/full/path/source1.cpp",line="755"},state="stopped"}]
Debug-39: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x00000000","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":39}
Debug-39: Dequeuing...
Debug: Gdb command: -data-disassemble -s 0x00000000 -e 0x00000320 -- 5      800 bytes 
Suppressing output for '64-data-disassemble -s 0x00000000 -e 0x00000320 -- 5'
Debug-40: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x00000000","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":40}
Debug-40: ******** Waiting for previous request to complete
Error: GDB failed: -data-disassemble: Mode argument must be 0, 1, 2, or 3. (from data-disassemble -s 0x00000000 -e 0x00000320 -- 5)
Debug-40: Dequeuing...
Debug: Gdb command: -data-disassemble -s 0x00000000 -e 0x00000320 -- 5      800 bytes 
Suppressing output for '65-data-disassemble -s 0x00000000 -e 0x00000320 -- 5'
Error: GDB failed: -data-disassemble: Mode argument must be 0, 1, 2, or 3. (from data-disassemble -s 0x00000000 -e 0x00000320 -- 5)


Let me know if you want me to find exact GDB version where it was broken (I can try any version)

@haneefdm
Copy link
Collaborator

@saloid Thanks for providing the info. But the ones that fail (let us just use "ARM GDB 9-2020-q2-update"), can I have the whole output. I don't see any transactions between Cortex-Debug and GDB.

@saloid
Copy link
Author

saloid commented Apr 18, 2022

9-2020-q2-update
Reading symbols from /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-objdump --syms -C -h -w /home/saloid/Documents/Projects/my_project/binary_1.elf
Reading symbols from /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-nm --defined-only -S -l -C -p /home/saloid/Documents/Projects/my_project/binary_1.elf
Launching GDB: /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gdb -q --interpreter=mi2 /home/saloid/Documents/Projects/my_project/binary_1.elf
1-gdb-set target-async on
Launching gdb-server: JLinkGDBServer -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device STM32F407VG -rtos GDBServer/RTOSPlugin_FreeRTOS.so
    Please check TERMINAL tab (gdb-server) for output from JLinkGDBServer
-> =thread-group-added,id="i1"
-> ~"Reading symbols from /home/saloid/Documents/Projects/my_project/binary_1.elf...\n"
Reading symbols from /home/saloid/Documents/Projects/my_project/binary_1.elf...
Finished reading symbols from objdump: Time: 50 ms
Error: objdump failed! statics/globals/functions may not be properly classified: TypeError: t.push is not a function    ENOENT means program not found. If that is not the issue, please report this problem.-> 1^done
2-gdb-version
-> ~"GNU gdb (GNU Arm Embedded Toolchain 9-2020-q2-update) 8.3.1.20191211-git\n"
-> ~"Copyright (C) 2019 Free Software Foundation, Inc.\n"
-> ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law."
-> ~"\nType \"show copying\" and \"show warranty\" for details.\n"
-> ~"This GDB was configured as \"--host=x86_64-linux-gnu --target=arm-none-eabi\".\n"
-> ~"Type \"show configuration\" for configuration details.\n"
-> ~"For bug reporting instructions, please see:\n"
-> ~"<http://www.gnu.org/software/gdb/bugs/>.\n"
-> ~"Find the GDB manual and other documentation resources online at:\n    <http://www.gnu.org/software/gdb/documentation/>."
-> ~"\n\n"
-> ~"For help, type \"help\".\n"
-> ~"Type \"apropos word\" to search for commands related to \"word\".\n"
-> 2^done
WARNING: Cortex-Debug will deprecate use of GDB version 8 after July 2022. Please upgrade to version 9+
3-interpreter-exec console "set print demangle on"
-> 3^done
4-interpreter-exec console "set print asm-demangle on"
-> =cmd-param-changed,param="print asm-demangle",value="on"
-> 4^done
Finished reading symbols from nm: Time: 154 ms
5-interpreter-exec console "source /home/saloid/.vscode/extensions/marus25.cortex-debug-1.4.4/support/gdbsupport.init"
-> 5^done
6-interpreter-exec console "source /home/saloid/.vscode/extensions/marus25.cortex-debug-1.4.4/support/gdb-swo.init"
-> =cmd-param-changed,param="language",value="c"
-> =cmd-param-changed,param="language",value="auto"
-> 6^done
7-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
Output radix now set to decimal 16, hex 10, octal 20.
-> =cmd-param-changed,param="output-radix",value="16"
-> 7^done
8-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
Input radix now set to decimal 10, hex a, octal 12.
-> 8^done
9-target-select extended-remote localhost:50000
-> =thread-group-started,id="i1",pid="42000"
-> =thread-created,id="1",group-id="i1"
-> ~"0x0805529a in function_1 () at /old/path/source.cpp:196\n"
0x0805529a in function_1 () at /old/path/source.cpp:196
-> &"196\t/old/path/source.cpp: No such file or directory.\n"
196	/old/path/source.cpp: No such file or directory.
-> *stopped,frame={addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/old/path/source.cpp",line="196",arch="armv7e-m"},thread-id="1",stopped-threads="all"
mi2.status = stopped
Program stopped, probably due to a reset and/or halt issued by debugger
-> 9^connected
10-interpreter-exec console "set substitute-path /old/path /new/path"
-> 10^done
11-interpreter-exec console "add-symbol-file /home/saloid/Documents/Projects/my_project/build/binary_2.elf 0x080c0080"
-> ~"add symbol table from file \"/home/saloid/Documents/Projects/my_project/build/binary_2.elf\" at\n"
add symbol table from file "/home/saloid/Documents/Projects/my_project/build/binary_2.elf" at
-> ~"\t.text_addr = 0x80c0080\n"
	.text_addr = 0x80c0080
-> ~"(y or n) [answered Y; input not from terminal]\n"
(y or n) [answered Y; input not from terminal]
-> ~"Reading symbols from /home/saloid/Documents/Projects/my_project/build/binary_2.elf...\n"
Reading symbols from /home/saloid/Documents/Projects/my_project/build/binary_2.elf...
-> 11^done
12-interpreter-exec console "monitor halt"
-> 12^done
13-enable-pretty-printing
-> 13^done
14-thread-list-ids
-> =thread-exited,id="1",group-id="i1"
-> =thread-created,id="2",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> 14^done,thread-ids={thread-id="2"},number-of-threads="1"
15-thread-info 2
-> 15^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
16-thread-list-ids
-> 16^done,thread-ids={thread-id="2"},number-of-threads="1"
17-thread-list-ids
-> 17^done,thread-ids={thread-id="2"},number-of-threads="1"
18-thread-info 2
-> 18^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
19-thread-info 2
-> 19^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
20-data-read-memory-bytes "0xe000ed00" 64
-> 20^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f410000000000c00008000305fa000000000002000000000000000000000000000000000000000000000000000001000000f8ed00e0f8ed00e000000000"}]
21-data-list-register-names
-> 21^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","msp","psp","primask","basepri","faultmask","control","fpscr","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15"]
22-data-read-memory-bytes "0xe000ed00" 64
-> 22^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f410000000000c00008000305fa000000000002000000000000000000000000000000000000000000000000000001000000f8ed00e0f8ed00e000000000"}]
23-data-list-register-names
-> 23^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","msp","psp","primask","basepri","faultmask","control","fpscr","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15"]
24-stack-info-depth --thread 2 10000
-> 24^done,depth="3"
25-stack-list-frames --thread 2 0 2
-> 25^done,stack=[frame={level="0",addr="0x0805529a",func="function_1",file="/old/path/board.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},frame={level="1",addr="0x0805529a",func="boardInit",file="/old/path/board.cpp",fullname="/new/path/board.cpp",line="361",arch="armv7e-m"},frame={level="2",addr="0x08030fa6",func="main",file="/old/path/main.cpp",fullname="/new/path/main.cpp",line="2236",arch="armv7e-m"}]
26-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> =cmd-param-changed,param="output-radix",value="10"
-> 26^done
27-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 27^done
28-data-list-register-values x
-> 28^done,register-values=[{number="0",value="0x3f8d"},{number="1",value="0x8000"},{number="2",value="0x0"},{number="3",value="0x40020800"},{number="4",value="0x0"},{number="5",value="0x100095e4"},{number="6",value="0x2"},{number="7",value="0x185a8"},{number="8",value="0x40020c00"},{number="9",value="0x0"},{number="10",value="0x1000079c"},{number="11",value="0x10000796"},{number="12",value="0x0"},{number="13",value="0x10000770"},{number="14",value="0x8055295"},{number="15",value="0x805529a"},{number="25",value="0x81000000"},{number="91",value="0x10000770"},{number="92",value="0x0"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x4"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a3"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
29-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> =cmd-param-changed,param="output-radix",value="16"
-> 29^done
30-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 30^done
31-thread-list-ids
-> 31^done,thread-ids={thread-id="2"},current-thread-id="2",number-of-threads="1"
32-thread-info 2
-> 32^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/board.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
33-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> =cmd-param-changed,param="output-radix",value="10"
-> 33^done
34-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 34^done
35-data-list-register-values x
-> 35^done,register-values=[{number="0",value="0x3f8d"},{number="1",value="0x8000"},{number="2",value="0x0"},{number="3",value="0x40020800"},{number="4",value="0x0"},{number="5",value="0x100095e4"},{number="6",value="0x2"},{number="7",value="0x185a8"},{number="8",value="0x40020c00"},{number="9",value="0x0"},{number="10",value="0x1000079c"},{number="11",value="0x10000796"},{number="12",value="0x0"},{number="13",value="0x10000770"},{number="14",value="0x8055295"},{number="15",value="0x805529a"},{number="25",value="0x81000000"},{number="91",value="0x10000770"},{number="92",value="0x0"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x4"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a3"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
36-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> =cmd-param-changed,param="output-radix",value="16"
-> 36^done
37-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 37^done
Debug-33: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x0805529a","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":33}
38-interpreter-exec console "show architecture"
Debug-34: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x0805529a","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":34}
Debug-34: ******** Waiting for previous request to complete
-> ~"The target architecture is set automatically (currently armv7e-m)\n"
-> 38^done
39-interpreter-exec console "info mem"
-> ~"Using memory regions provided by the target.\n"
-> ~"There are no memory regions defined.\n"
-> 39^done
Note: We detected the following memory regions as valid using gdb "info mem" and "objdump -h"
    This information is used to adjust bounds only when normal disassembly fails.
================================================================================
  Using following memory regions for disassembly
================================================================================
      Size   VMA Beg   VMA End   LMA Beg   LMA End  Attributes
================================================================================
  Unfortunately, No memory information from gdb (or gdb-server). Will try to manage without
  ------------------------------------------------------------------------------
  000721bc  08000000  080721bc  --------  --------  (.text) contents alloc load readonly code
  00000008  080721bc  080721c4  --------  --------  (.ARM) contents alloc load readonly data
  0000003c  080721c4  08072200  --------  --------  (.init_array) contents alloc load data
  00000004  08072200  08072204  --------  --------  (.fini_array) contents alloc load data
  000003a8  10000000  100003a8  --------  --------  (.sharedram) alloc
  00000400  10000400  10000800  --------  --------  (.stack) alloc
  00000334  10000800  10000b34  08072204  08072538  (.data) contents alloc load data
  0000e78c  10000b38  1000f2c4  08072540  08080ccc  (.bss) alloc
  000031e4  20000000  200031e4  --------  --------  (.ram) alloc
  00001008  200031e4  200041ec  --------  --------  (.systemview) alloc
  00000400  200041ec  200045ec  --------  --------  (._user_heap) alloc
================================================================================
Debug-33: Dequeuing...
Debug: Gdb command: -data-disassemble -s 0x08054f40 -e 0x08054fdc -- 5      156 bytes  (DMA1_Stream7_IRQHandler)
Suppressing output for '40-data-disassemble -s 0x08054f40 -e 0x08054fdc -- 5'
Debug: Gdb command: -data-disassemble -s 0x08054fdc -e 0x080550f0 -- 5      276 bytes  (lcdInitFinish())
Debug: Gdb command: -data-disassemble -s 0x080550f0 -e 0x08055608 -- 5     1304 bytes  (boardInit())
Suppressing output for '41-data-disassemble -s 0x08054fdc -e 0x080550f0 -- 5'
Debug: data-disassemble -s 0x08054f40 -e 0x08054fdc -- 5 => Found 62 instrunctions. 62 with source code, 0 without
Suppressing output for '42-data-disassemble -s 0x080550f0 -e 0x08055608 -- 5'
Debug: data-disassemble -s 0x08054fdc -e 0x080550f0 -- 5 => Found 108 instrunctions. 108 with source code, 0 without
Debug: data-disassemble -s 0x080550f0 -e 0x08055608 -- 5 => Found 505 instrunctions. 505 with source code, 0 without
Debug-33: Elapsed time for Disassembly Request: 083 ms
Debug-34: Dequeuing...
Debug-34: Elapsed time for Disassembly Request: 008 ms
43-interpreter-exec console "monitor halt"
-> 43^done
44-interpreter-exec console "monitor reset"
-> @"Resetting target\r\n"
Resetting target
-> 44^done
45-exec-continue --all
-> 45^running
-> *running,thread-id="all"
mi2.status = running
-> =thread-exited,id="2",group-id="i1"
-> =thread-created,id="3",group-id="i1"
-> ~"[New Thread 4748040]\n"
[New Thread 4748040]
-> =thread-created,id="4",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> ~"\nThread "

Thread 
-> ~"2 received signal SIGTRAP, Trace/breakpoint trap.\n"
2 received signal SIGTRAP, Trace/breakpoint trap.
-> ~"[Switching to Thread 268445668]\n"
[Switching to Thread 268445668]
Reading symbols from /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-objdump --syms -C -h -w /home/saloid/Documents/Projects/my_project/binary_1.elf
Reading symbols from /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-nm --defined-only -S -l -C -p /home/saloid/Documents/Projects/my_project/binary_1.elf
Launching GDB: /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gdb -q --interpreter=mi2 /home/saloid/Documents/Projects/my_project/binary_1.elf
1-gdb-set target-async on
Launching gdb-server: JLinkGDBServer -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device STM32F407VG -rtos GDBServer/RTOSPlugin_FreeRTOS.so
    Please check TERMINAL tab (gdb-server) for output from JLinkGDBServer
-> =thread-group-added,id="i1"
-> ~"Reading symbols from /home/saloid/Documents/Projects/my_project/binary_1.elf...\n"
Reading symbols from /home/saloid/Documents/Projects/my_project/binary_1.elf...
Finished reading symbols from objdump: Time: 50 ms
Error: objdump failed! statics/globals/functions may not be properly classified: TypeError: t.push is not a function    ENOENT means program not found. If that is not the issue, please report this problem.-> 1^done
2-gdb-version
-> ~"GNU gdb (GNU Arm Embedded Toolchain 9-2020-q2-update) 8.3.1.20191211-git\n"
-> ~"Copyright (C) 2019 Free Software Foundation, Inc.\n"
-> ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law."
-> ~"\nType \"show copying\" and \"show warranty\" for details.\n"
-> ~"This GDB was configured as \"--host=x86_64-linux-gnu --target=arm-none-eabi\".\n"
-> ~"Type \"show configuration\" for configuration details.\n"
-> ~"For bug reporting instructions, please see:\n"
-> ~"<http://www.gnu.org/software/gdb/bugs/>.\n"
-> ~"Find the GDB manual and other documentation resources online at:\n    <http://www.gnu.org/software/gdb/documentation/>."
-> ~"\n\n"
-> ~"For help, type \"help\".\n"
-> ~"Type \"apropos word\" to search for commands related to \"word\".\n"
-> 2^done
WARNING: Cortex-Debug will deprecate use of GDB version 8 after July 2022. Please upgrade to version 9+
3-interpreter-exec console "set print demangle on"
-> 3^done
4-interpreter-exec console "set print asm-demangle on"
-> =cmd-param-changed,param="print asm-demangle",value="on"
-> 4^done
Finished reading symbols from nm: Time: 154 ms
5-interpreter-exec console "source /home/saloid/.vscode/extensions/marus25.cortex-debug-1.4.4/support/gdbsupport.init"
-> 5^done
6-interpreter-exec console "source /home/saloid/.vscode/extensions/marus25.cortex-debug-1.4.4/support/gdb-swo.init"
-> =cmd-param-changed,param="language",value="c"
-> =cmd-param-changed,param="language",value="auto"
-> 6^done
7-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
Output radix now set to decimal 16, hex 10, octal 20.
-> =cmd-param-changed,param="output-radix",value="16"
-> 7^done
8-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
Input radix now set to decimal 10, hex a, octal 12.
-> 8^done
9-target-select extended-remote localhost:50000
-> =thread-group-started,id="i1",pid="42000"
-> =thread-created,id="1",group-id="i1"
-> ~"0x0805529a in function_1 () at /old/path/source.cpp:196\n"
0x0805529a in function_1 () at /old/path/source.cpp:196
-> &"196\t/old/path/source.cpp: No such file or directory.\n"
196	/old/path/source.cpp: No such file or directory.
-> *stopped,frame={addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/old/path/source.cpp",line="196",arch="armv7e-m"},thread-id="1",stopped-threads="all"
mi2.status = stopped
Program stopped, probably due to a reset and/or halt issued by debugger
-> 9^connected
10-interpreter-exec console "set substitute-path /old/path /new/path"
-> 10^done
11-interpreter-exec console "add-symbol-file /home/saloid/Documents/Projects/my_project/build/binary_2.elf 0x080c0080"
-> ~"add symbol table from file \"/home/saloid/Documents/Projects/my_project/build/binary_2.elf\" at\n"
add symbol table from file "/home/saloid/Documents/Projects/my_project/build/binary_2.elf" at
-> ~"\t.text_addr = 0x80c0080\n"
	.text_addr = 0x80c0080
-> ~"(y or n) [answered Y; input not from terminal]\n"
(y or n) [answered Y; input not from terminal]
-> ~"Reading symbols from /home/saloid/Documents/Projects/my_project/build/binary_2.elf...\n"
Reading symbols from /home/saloid/Documents/Projects/my_project/build/binary_2.elf...
-> 11^done
12-interpreter-exec console "monitor halt"
-> 12^done
13-enable-pretty-printing
-> 13^done
14-thread-list-ids
-> =thread-exited,id="1",group-id="i1"
-> =thread-created,id="2",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> 14^done,thread-ids={thread-id="2"},number-of-threads="1"
15-thread-info 2
-> 15^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
16-thread-list-ids
-> 16^done,thread-ids={thread-id="2"},number-of-threads="1"
17-thread-list-ids
-> 17^done,thread-ids={thread-id="2"},number-of-threads="1"
18-thread-info 2
-> 18^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
19-thread-info 2
-> 19^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/source.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
20-data-read-memory-bytes "0xe000ed00" 64
-> 20^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f410000000000c00008000305fa000000000002000000000000000000000000000000000000000000000000000001000000f8ed00e0f8ed00e000000000"}]
21-data-list-register-names
-> 21^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","msp","psp","primask","basepri","faultmask","control","fpscr","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15"]
22-data-read-memory-bytes "0xe000ed00" 64
-> 22^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f410000000000c00008000305fa000000000002000000000000000000000000000000000000000000000000000001000000f8ed00e0f8ed00e000000000"}]
23-data-list-register-names
-> 23^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","msp","psp","primask","basepri","faultmask","control","fpscr","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15"]
24-stack-info-depth --thread 2 10000
-> 24^done,depth="3"
25-stack-list-frames --thread 2 0 2
-> 25^done,stack=[frame={level="0",addr="0x0805529a",func="function_1",file="/old/path/board.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},frame={level="1",addr="0x0805529a",func="boardInit",file="/old/path/board.cpp",fullname="/new/path/board.cpp",line="361",arch="armv7e-m"},frame={level="2",addr="0x08030fa6",func="main",file="/old/path/main.cpp",fullname="/new/path/main.cpp",line="2236",arch="armv7e-m"}]
26-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> =cmd-param-changed,param="output-radix",value="10"
-> 26^done
27-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 27^done
28-data-list-register-values x
-> 28^done,register-values=[{number="0",value="0x3f8d"},{number="1",value="0x8000"},{number="2",value="0x0"},{number="3",value="0x40020800"},{number="4",value="0x0"},{number="5",value="0x100095e4"},{number="6",value="0x2"},{number="7",value="0x185a8"},{number="8",value="0x40020c00"},{number="9",value="0x0"},{number="10",value="0x1000079c"},{number="11",value="0x10000796"},{number="12",value="0x0"},{number="13",value="0x10000770"},{number="14",value="0x8055295"},{number="15",value="0x805529a"},{number="25",value="0x81000000"},{number="91",value="0x10000770"},{number="92",value="0x0"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x4"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a3"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
29-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> =cmd-param-changed,param="output-radix",value="16"
-> 29^done
30-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 30^done
31-thread-list-ids
-> 31^done,thread-ids={thread-id="2"},current-thread-id="2",number-of-threads="1"
32-thread-info 2
-> 32^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x0805529a",func="function_1",args=[],file="/old/path/board.cpp",fullname="/new/path/board.cpp",line="196",arch="armv7e-m"},state="stopped"}]
33-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> =cmd-param-changed,param="output-radix",value="10"
-> 33^done
34-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 34^done
35-data-list-register-values x
-> 35^done,register-values=[{number="0",value="0x3f8d"},{number="1",value="0x8000"},{number="2",value="0x0"},{number="3",value="0x40020800"},{number="4",value="0x0"},{number="5",value="0x100095e4"},{number="6",value="0x2"},{number="7",value="0x185a8"},{number="8",value="0x40020c00"},{number="9",value="0x0"},{number="10",value="0x1000079c"},{number="11",value="0x10000796"},{number="12",value="0x0"},{number="13",value="0x10000770"},{number="14",value="0x8055295"},{number="15",value="0x805529a"},{number="25",value="0x81000000"},{number="91",value="0x10000770"},{number="92",value="0x0"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x4"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a3"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
36-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> =cmd-param-changed,param="output-radix",value="16"
-> 36^done
37-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 37^done
Debug-33: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x0805529a","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":33}
38-interpreter-exec console "show architecture"
Debug-34: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x0805529a","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":34}
Debug-34: ******** Waiting for previous request to complete
-> ~"The target architecture is set automatically (currently armv7e-m)\n"
-> 38^done
39-interpreter-exec console "info mem"
-> ~"Using memory regions provided by the target.\n"
-> ~"There are no memory regions defined.\n"
-> 39^done
Note: We detected the following memory regions as valid using gdb "info mem" and "objdump -h"
    This information is used to adjust bounds only when normal disassembly fails.
================================================================================
  Using following memory regions for disassembly
================================================================================
      Size   VMA Beg   VMA End   LMA Beg   LMA End  Attributes
================================================================================
  Unfortunately, No memory information from gdb (or gdb-server). Will try to manage without
  ------------------------------------------------------------------------------
  000721bc  08000000  080721bc  --------  --------  (.text) contents alloc load readonly code
  00000008  080721bc  080721c4  --------  --------  (.ARM) contents alloc load readonly data
  0000003c  080721c4  08072200  --------  --------  (.init_array) contents alloc load data
  00000004  08072200  08072204  --------  --------  (.fini_array) contents alloc load data
  000003a8  10000000  100003a8  --------  --------  (.sharedram) alloc
  00000400  10000400  10000800  --------  --------  (.stack) alloc
  00000334  10000800  10000b34  08072204  08072538  (.data) contents alloc load data
  0000e78c  10000b38  1000f2c4  08072540  08080ccc  (.bss) alloc
  000031e4  20000000  200031e4  --------  --------  (.ram) alloc
  00001008  200031e4  200041ec  --------  --------  (.systemview) alloc
  00000400  200041ec  200045ec  --------  --------  (._user_heap) alloc
================================================================================
Debug-33: Dequeuing...
Debug: Gdb command: -data-disassemble -s 0x08054f40 -e 0x08054fdc -- 5      156 bytes  (DMA1_Stream7_IRQHandler)
Suppressing output for '40-data-disassemble -s 0x08054f40 -e 0x08054fdc -- 5'
Debug: Gdb command: -data-disassemble -s 0x08054fdc -e 0x080550f0 -- 5      276 bytes  (lcdInitFinish())
Debug: Gdb command: -data-disassemble -s 0x080550f0 -e 0x08055608 -- 5     1304 bytes  (boardInit())
Suppressing output for '41-data-disassemble -s 0x08054fdc -e 0x080550f0 -- 5'
Debug: data-disassemble -s 0x08054f40 -e 0x08054fdc -- 5 => Found 62 instrunctions. 62 with source code, 0 without
Suppressing output for '42-data-disassemble -s 0x080550f0 -e 0x08055608 -- 5'
Debug: data-disassemble -s 0x08054fdc -e 0x080550f0 -- 5 => Found 108 instrunctions. 108 with source code, 0 without
Debug: data-disassemble -s 0x080550f0 -e 0x08055608 -- 5 => Found 505 instrunctions. 505 with source code, 0 without
Debug-33: Elapsed time for Disassembly Request: 083 ms
Debug-34: Dequeuing...
Debug-34: Elapsed time for Disassembly Request: 008 ms
43-interpreter-exec console "monitor halt"
-> 43^done
44-interpreter-exec console "monitor reset"
-> @"Resetting target\r\n"
Resetting target
-> 44^done
45-exec-continue --all
-> 45^running
-> *running,thread-id="all"
mi2.status = running
-> =thread-exited,id="2",group-id="i1"
-> =thread-created,id="3",group-id="i1"
-> ~"[New Thread 4748040]\n"
[New Thread 4748040]
-> =thread-created,id="4",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> ~"\nThread "

Thread 
-> ~"2 received signal SIGTRAP, Trace/breakpoint trap.\n"
2 received signal SIGTRAP, Trace/breakpoint trap.
-> ~"[Switching to Thread 268445668]\n"
[Switching to Thread 268445668]

Seems that 9-2020-q2-update toolchain contains 8.3.1.20191211-git gdb

@saloid
Copy link
Author

saloid commented Apr 19, 2022

@haneefdm I downloaded another one arm toolchain:

10-2020-q4-major (GDB 10.1.90.20201028-git)
Reading symbols from /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-objdump --syms -C -h -w /home/saloid/Documents/Projects/my_project/binary_1.elf
Reading symbols from /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-nm --defined-only -S -l -C -p /home/saloid/Documents/Projects/my_project/binary_1.elf
Launching GDB: /home/saloid/Documents/Projects/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gdb -q --interpreter=mi2 /home/saloid/Documents/Projects/my_project/binary_1.elf
1-gdb-set target-async on
Launching gdb-server: JLinkGDBServer -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device STM32F407VG -rtos GDBServer/RTOSPlugin_FreeRTOS.so
    Please check TERMINAL tab (gdb-server) for output from JLinkGDBServer
-> =thread-group-added,id="i1"
-> ~"Reading symbols from /home/saloid/Documents/Projects/my_project/binary_1.elf...\n"
Reading symbols from /home/saloid/Documents/Projects/my_project/binary_1.elf...
Finished reading symbols from objdump: Time: 51 ms
Error: objdump failed! statics/globals/functions may not be properly classified: TypeError: t.push is not a function    ENOENT means program not found. If that is not the issue, please report this problem.-> 1^done
2-gdb-version
-> ~"GNU gdb (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.1.90.20201028-git\n"
-> ~"Copyright (C) 2020 Free Software Foundation, Inc.\n"
-> ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law."
-> ~"\nType \"show copying\" and \"show warranty\" for details.\n"
-> ~"This GDB was configured as \"--host=x86_64-linux-gnu --target=arm-none-eabi\".\n"
-> ~"Type \"show configuration\" for configuration details.\n"
-> ~"For bug reporting instructions, please see:\n"
-> ~"<https://www.gnu.org/software/gdb/bugs/>.\n"
-> ~"Find the GDB manual and other documentation resources online at:\n    <http://www.gnu.org/software/gdb/documentation/>."
-> ~"\n\n"
-> ~"For help, type \"help\".\n"
-> ~"Type \"apropos word\" to search for commands related to \"word\".\n"
-> 2^done
3-interpreter-exec console "set print demangle on"
-> 3^done
4-interpreter-exec console "set print asm-demangle on"
-> =cmd-param-changed,param="print asm-demangle",value="on"
-> 4^done
Finished reading symbols from nm: Time: 137 ms
5-interpreter-exec console "source /home/saloid/.vscode/extensions/marus25.cortex-debug-1.4.4/support/gdbsupport.init"
-> 5^done
6-interpreter-exec console "source /home/saloid/.vscode/extensions/marus25.cortex-debug-1.4.4/support/gdb-swo.init"
-> =cmd-param-changed,param="language",value="c"
-> =cmd-param-changed,param="language",value="auto"
-> 6^done
7-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
Output radix now set to decimal 16, hex 10, octal 20.
-> =cmd-param-changed,param="output-radix",value="16"
-> 7^done
8-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
Input radix now set to decimal 10, hex a, octal 12.
-> 8^done
9-target-select extended-remote localhost:50000
-> =thread-group-started,id="i1",pid="42000"
-> =thread-created,id="1",group-id="i1"
-> ~"HardFault_Handler () at /old/path/board.cpp:755\n"
HardFault_Handler () at /old/path/board.cpp:755
-> &"755\t/old/path/board.cpp: No such file or directory.\n"
755	/old/path/board.cpp: No such file or directory.
-> *stopped,frame={addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/board.cpp",fullname="/old/path/board.cpp",line="755",arch="armv7e-m"},thread-id="1",stopped-threads="all"
mi2.status = stopped
Program stopped, probably due to a reset and/or halt issued by debugger
-> 9^connected
10-interpreter-exec console "set substitute-path /old/path /new/path"
-> 10^done
11-interpreter-exec console "add-symbol-file /home/saloid/Documents/Projects/my_project/binary_2.elf 0x080c0080"
-> ~"add symbol table from file \"/home/saloid/Documents/Projects/my_project/binary_2.elf\" at\n"
add symbol table from file "/home/saloid/Documents/Projects/my_project/binary_2.elf" at
-> ~"\t.text_addr = 0x80c0080\n"
	.text_addr = 0x80c0080
-> ~"(y or n) [answered Y; input not from terminal]\n"
(y or n) [answered Y; input not from terminal]
-> ~"Reading symbols from /home/saloid/Documents/Projects/my_project/binary_2.elf...\n"
Reading symbols from /home/saloid/Documents/Projects/my_project/binary_2.elf...
-> 11^done
12-interpreter-exec console "monitor halt"
-> 12^done
13-enable-pretty-printing
-> 13^done
14-thread-list-ids
-> =thread-created,id="2",group-id="i1"
-> ~"[New Remote target]\n"
[New Remote target]
-> 14^done,thread-ids={thread-id="1",thread-id="2"},current-thread-id="1",number-of-threads="2"
15-thread-info 1
-> =thread-exited,id="1",group-id="i1"
-> 15^done,threads=[]
16-thread-info 2
-> 16^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/board.cpp",fullname="/new/path/my_project/board.cpp",line="755",arch="armv7e-m"},state="stopped"}]
17-thread-list-ids
-> 17^done,thread-ids={thread-id="2"},number-of-threads="1"
18-thread-info 2
-> 18^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/board.cpp",fullname="/new/path/my_project/board.cpp",line="755",arch="armv7e-m"},state="stopped"}]
19-data-read-memory-bytes "0xe000ed00" 64
-> 19^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f4103d8430400c00008000305fa000000000002000000000000000000000000f0f000000000000002000000004003000000f8ed00e0f8ed00e000000000"}]
20-data-list-register-names
-> 20^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","msp","psp","primask","basepri","faultmask","control","fpscr","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15"]
21-thread-list-ids
-> 21^done,thread-ids={thread-id="2"},number-of-threads="1"
22-thread-info 2
-> 22^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/board.cpp",fullname="/new/path/my_project/board.cpp",line="755",arch="armv7e-m"},state="stopped"}]
23-data-read-memory-bytes "0xe000ed00" 64
-> 23^done,memory=[{begin="0xe000ed00",offset="0x00000000",end="0xe000ed40",contents="41c20f4103d8430400c00008000305fa000000000002000000000000000000000000f0f000000000000002000000004003000000f8ed00e0f8ed00e000000000"}]
24-data-list-register-names
-> 24^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","msp","psp","primask","basepri","faultmask","control","fpscr","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15"]
25-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> =cmd-param-changed,param="output-radix",value="10"
-> 25^done
26-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 26^done
27-data-list-register-values x
-> 27^error,msg="The current thread has terminated"
28-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> =cmd-param-changed,param="output-radix",value="16"
-> 28^done
29-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 29^done
30-stack-info-depth --thread 2 10000
-> 30^done,depth="5"
31-stack-list-frames --thread 2 0 4
-> 31^done,stack=[frame={level="0",addr="0x08055a00",func="HardFault_Handler",file="/old/path/board.cpp",fullname="/new/path/my_project/board.cpp",line="755",arch="armv7e-m"},frame={level="1",addr="0xfffffffd",func="<signal handler called>"},frame={level="2",addr="0x00000000",func="??",arch="armv7e-m"},frame={level="3",addr="0x080c03ce",func="__libc_init_array",file="../../../../../../../../newlib/libc/misc/init.c",fullname="/build/newlib-wFsRXh/newlib-3.3.0/build_nano/arm-none-eabi/thumb/v7e-m+fp/hard/newlib/libc/misc/../../../../../../../../newlib/libc/misc/init.c",line="37",arch="armv7e-m"},frame={level="4",addr="0x080c002a",func="Reset_Handler",file="/home/saloid/Documents/Projects/my_project/source.s",fullname="/home/saloid/Documents/Projects/my_project/source.s",line="85",arch="armv7e-m"}]
32-thread-list-ids
-> 32^done,thread-ids={thread-id="2"},current-thread-id="2",number-of-threads="1"
33-interpreter-exec console "set output-radix 0xa"
-> ~"Output radix now set to decimal 10, hex a, octal 12.\n"
-> =cmd-param-changed,param="output-radix",value="10"
-> 33^done
34-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 34^done
35-data-list-register-values x
-> 35^done,register-values=[{number="0",value="0x0"},{number="1",value="0xa5a5a5a5"},{number="2",value="0xa5a5a5a5"},{number="3",value="0x0"},{number="4",value="0x1"},{number="5",value="0x80db46c"},{number="6",value="0x1"},{number="7",value="0xa5a5a5a5"},{number="8",value="0xa5a5a5a5"},{number="9",value="0xa5a5a5a5"},{number="10",value="0xa5a5a5a5"},{number="11",value="0xa5a5a5a5"},{number="12",value="0xa5a5a5a5"},{number="13",value="0x100007e0"},{number="14",value="0xfffffffd"},{number="15",value="0x8055a00"},{number="25",value="0x1000003"},{number="91",value="0x100007e0"},{number="92",value="0x100027a8"},{number="93",value="0x0"},{number="94",value="0x0"},{number="95",value="0x0"},{number="96",value="0x0"},{number="97",value="0x10"},{number="98",value="0x0"},{number="99",value="0x0"},{number="100",value="0x0"},{number="101",value="0x0"},{number="102",value="0x0"},{number="103",value="0x0"},{number="104",value="0x0"},{number="105",value="0x0"},{number="106",value="0x0"},{number="107",value="0x0"},{number="108",value="0x0"},{number="109",value="0x0"},{number="110",value="0x0"},{number="111",value="0x4"},{number="112",value="0x1a2"},{number="113",value="0x0"},{number="114",value="0x0"},{number="115",value="0x0"},{number="116",value="0x0"},{number="117",value="0x0"},{number="118",value="0x0"},{number="119",value="0x0"},{number="120",value="0x0"},{number="121",value="0x0"},{number="122",value="0x0"},{number="123",value="0x0"},{number="124",value="0x0"},{number="125",value="0x0"},{number="126",value="0x0"},{number="127",value="0x0"},{number="128",value="0x0"},{number="129",value="0x0"},{number="130",value="0x0"},{number="131",value="0x0"},{number="132",value="0x0"},{number="133",value="0x0"},{number="134",value="0x0"},{number="135",value="0x0"},{number="136",value="0x466"},{number="137",value="0x0"},{number="138",value="0x0"},{number="139",value="0x0"},{number="140",value="0x0"},{number="141",value="0x0"},{number="142",value="0x0"},{number="143",value="0x0"},{number="144",value="0x0"},{number="145",value="0x0"}]
36-interpreter-exec console "set output-radix 0x10"
-> ~"Output radix now set to decimal 16, hex 10, octal 20.\n"
-> =cmd-param-changed,param="output-radix",value="16"
-> 36^done
37-interpreter-exec console "set input-radix 0xa"
-> ~"Input radix now set to decimal 10, hex a, octal 12.\n"
-> 37^done
38-thread-info 2
-> 38^done,threads=[{id="2",target-id="Remote target",frame={level="0",addr="0x08055a00",func="HardFault_Handler",args=[],file="/old/path/board.cpp",fullname="/new/path/my_project/board.cpp",line="755",arch="armv7e-m"},state="stopped"}]
Debug-33: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x08055a00","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":33}
39-interpreter-exec console "show architecture"
Debug-34: Enqueuing {"command":"disassemble","arguments":{"memoryReference":"0x08055a00","offset":0,"instructionOffset":-200,"instructionCount":400,"resolveSymbols":true},"type":"request","seq":34}
Debug-34: ******** Waiting for previous request to complete
-> ~"The target architecture is set to \"auto\" (currently \"armv7e-m\").\n"
-> 39^done
40-interpreter-exec console "info mem"
-> ~"Using memory regions provided by the target.\n"
-> ~"There are no memory regions defined.\n"
-> 40^done
Note: We detected the following memory regions as valid using gdb "info mem" and "objdump -h"
    This information is used to adjust bounds only when normal disassembly fails.
================================================================================
  Using following memory regions for disassembly
================================================================================
      Size   VMA Beg   VMA End   LMA Beg   LMA End  Attributes
================================================================================
  Unfortunately, No memory information from gdb (or gdb-server). Will try to manage without
  ------------------------------------------------------------------------------
  000721bc  08000000  080721bc  --------  --------  (.text) contents alloc load readonly code
  00000008  080721bc  080721c4  --------  --------  (.ARM) contents alloc load readonly data
  0000003c  080721c4  08072200  --------  --------  (.init_array) contents alloc load data
  00000004  08072200  08072204  --------  --------  (.fini_array) contents alloc load data
  000003a8  10000000  100003a8  --------  --------  (.sharedram) alloc
  00000400  10000400  10000800  --------  --------  (.stack) alloc
  00000334  10000800  10000b34  08072204  08072538  (.data) contents alloc load data
  0000e78c  10000b38  1000f2c4  08072540  08080ccc  (.bss) alloc
  000031e4  20000000  200031e4  --------  --------  (.ram) alloc
  00001008  200031e4  200041ec  --------  --------  (.systemview) alloc
  00000400  200041ec  200045ec  --------  --------  (._user_heap) alloc
================================================================================
Debug-33: Dequeuing...
Debug: Gdb command: -data-disassemble -s 0x080556c8 -e 0x08055908 -- 5      576 bytes  (some_function1())
Suppressing output for '41-data-disassemble -s 0x080556c8 -e 0x08055908 -- 5'
Debug: Gdb command: -data-disassemble -s 0x08055908 -e 0x08055a18 -- 5      272 bytes  (_general_exception_handler)
Debug: Gdb command: -data-disassemble -s 0x08055a18 -e 0x08055d98 -- 5      896 bytes  (some_function2)
Suppressing output for '42-data-disassemble -s 0x08055908 -e 0x08055a18 -- 5'
Debug: data-disassemble -s 0x080556c8 -e 0x08055908 -- 5 => Found 227 instrunctions. 226 with source code, 1 without
Suppressing output for '43-data-disassemble -s 0x08055a18 -e 0x08055d98 -- 5'
Debug: data-disassemble -s 0x08055908 -e 0x08055a18 -- 5 => Found 106 instrunctions. 105 with source code, 1 without
Debug: data-disassemble -s 0x08055a18 -e 0x08055d98 -- 5 => Found 391 instrunctions. 391 with source code, 0 without
Debug-33: Elapsed time for Disassembly Request: 085 ms
Debug-34: Dequeuing...
Debug-34: Elapsed time for Disassembly Request: 013 ms
44-interpreter-exec console "monitor halt"
-> 44^done
45-interpreter-exec console "monitor reset"
-> @"Resetting target\r\n"
Resetting target
-> 45^done
46-exec-continue --all
-> 46^running
-> *running,thread-id="all"
mi2.status = running
-> =thread-created,id="3",group-id="i1"
-> ~"[New Thread 268445668]\n"
[New Thread 268445668]
-> =thread-exited,id="3",group-id="i1"
-> =thread-created,id="4",group-id="i1"
-> ~"[New Thread 4748040]\n"
[New Thread 4748040]
-> ~"\nThread "

Thread 
-> ~"3 received signal SIGTRAP, Trace/breakpoint trap.\n"
3 received signal SIGTRAP, Trace/breakpoint trap.
-> ~"[Switching to Thread 268445668]\n"
[Switching to Thread 268445668]

@saloid
Copy link
Author

saloid commented Apr 22, 2022

Also I noticed that debug more stable if I remove "rtos": "FreeRTOS" (but I loose some features in this case)

@haneefdm
Copy link
Collaborator

Can you try our latest pre-release? You have to enable it on our extension in VSCode

@haneefdm
Copy link
Collaborator

Here is another pre-release to try.

https://github.com/Marus/cortex-debug/releases/tag/v1.5.1-pre4

Please re-open with details if this is still a problem. Haven't heard back from previous message

@saloid
Copy link
Author

saloid commented Jun 5, 2022

Sorry for long time to reply.
Tried pre-release version from vscode extensions shop ("Last updated 02/06/2022, 00:57:42" or 1.5.1 git(89a84bd) in console) - still have this issue

@haneefdm
Copy link
Collaborator

haneefdm commented Jun 5, 2022

I don't know how to help you if this so gdb specific, but I don't recommend using 7.4. One more try. Can you provide the logs with "showDevDebugOutput":"vscode"?

Or maybe this issue is really a JLink issue where it is the one who is not responding properly to gdb. Do you wee anything range in the gd-server TERMINAL window (also attach please).

@saloid
Copy link
Author

saloid commented Jun 10, 2022

Seems that config #define configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 1 in FreeRTOSConfig.h file was causing such issue. Without this define everything works as it should.
Thank you for your patiance and support)

@haneefdm
Copy link
Collaborator

With the #define configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 1, "rtos": "FreeRTOS", and "showDevDebugOutput":"vscode" could I see the output from the Debug Console.

I can believe that at the very beginning (after a power-on-reset) JLink provides garbage stack because it picks up random data in SRAM and things it is real. There can be confusion, at every level of the SW. If you let it continue and then stop until after OS is initialized, does it work?

@saloid
Copy link
Author

saloid commented Jun 10, 2022

Issue was when FreeRTOS is fully initialized and running.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants