这一直困扰着我。也许其他人遇到过它并找到了解决方案。
:定位
设置
问题
当我为这个目标启动调试启动时,gdb中的后端会出现一些问题,你可以在 gdb trace console 中看到。它看起来像这样(...是截断的lineb):
(名称改为保护无辜者)
..360,743 2-environment-cd /home/jmreina/myworkspace/myproj
360,743 2^done
360,743 (gdb)
360,744 3-gdb-set breakpoint pending on
360,744 3^done
...
360,747 9source .gdbinit
...
360,748 ~"Reading symbols from /home/jmreina/myworkspace/myproj/Debug/myproj.elf..."
...
381,233 (gdb)
381,233 58^done,groups=[{id="i1",type="process",pid="42000"}]
...
381,516 65-data-disassemble --thread 1 -s 536883209 -e 536883241 -- 1
381,559 66-data-read-memory 2415919152 x 1 1 4
381,568 65^done,asm_insns=[src_and_asm_line={line="68",file="/home/jmreina/myworkspace/myproj/myfcns/\
foo.c",line_asm_insn=[{address="0x2000300e",func-name="foo_initialize",offset="16",inst="call 0x20\
00409b <memset$fastcc>"},{address="0x20003013",func-name="foo_initialize",offset="21",inst="mov $\
0x10,%eax"},{address="0x20003018",func-name="foo_initialize",offset="26",inst="xor %edx,%edx"},{a\
ddress="0x2000301a",func-name="foo_initialize",offset="28",inst="mov $0x60000210,%ecx"}]},src_and\
_asm_line={line="69",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[{address="0x\
2000301f",func-name="foo_initialize",offset="33",inst="call 0x2000409b <memset$fastcc>"}]},src_and\
_asm_line={line="70",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_a\
sm_line={line="71",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm\
_line={line="72",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_l\
ine={line="73",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_lin\
e={line="74",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line=\
{line="75",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line={l\
ine="76",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line={lin\
e="77",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line={line=\
"78",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line={line="7\
9",file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line={line="80"\
,file="/home/jmreina/myworkspace/myproj/myfcns/foo.c",line_asm_insn=[]},src_and_asm_line={line="81",f\
...
(FOUR-HUNDRED+ more lines of the same CRAPfrom myfcns/foo.c!)
...
然后Eclipse在空白编辑器中显示:
No source available for "(gdb[38].proc[42000].threadGroup[i1],gdb[38].proc[42000].OSthread[1]).thread[1].frame[0]"
我认为它显示了这一点,因为上面的砖块( 432行!)花了很长时间才加载到后端,并且我认为发布后面的Eclipse-GDB插件会出现某种超时。
我非常确定foo.c在FLASH 中的main()之后直接位于。因此,GDB在这里调用初始化来获取Eclipse中的反汇编视图。
*请注意,如果反汇编视图已关闭(未最小化,已关闭),则不会发生这种情况。
问题
这让我厌恶,每天20次/天。我该如何修复,甚至理解它??!?
答案 0 :(得分:1)
根据您的主题,&#34;没有可用的来源...&#34;。一个原因可能是目标上的 gdbserver 与主机上的 gdb 之间的版本不兼容。如果有可用的目标特定gdb,则应检查工具链。
答案 1 :(得分:1)
我知道,这是一个旧线程,但也许可以帮助其他人。 昨天,我也遇到了此错误,它是在使用DAVE和J-Link调试XMC4500板时发生的。使用J-link上传程序效果也很好。
我重新安装了Eclipse IDE->没有变化 更新的J-Link->不变 编译效果很好 在另一块板上调试其他项目效果很好
我的解决方案是运行J-link flashtool(例如JFlash.exe或JFlashLite.exe,您可以在Segger J-Link的安装目录中找到它),擦除整个芯片。之后错误消失了。
致谢
Geri