调试控制台输出信息
<xmp>Debug adapter -> Extension: DEBUG_ADAPTER_STARTED_
Debug adapter -> Extension: DEBUG_ADAPTER_READY2CONNECT</xmp>
这明显的缺少详细信息,所以定位到了ESP-IDF扩展中的的esp_debug_adapter文件夹
找到修改debug_adapter\cli.py文件,设置调试等级
详细错误信息
<xmp>2024-03-17 19:01:59,607 - Gdb - DEBUG - MI->: -file-exec-and-symbols e:/esp_project/vscode_project/build/vscode_project.elf
[Debug Adapter]
2024-03-17 19:02:04,617 - Gdb - DEBUG - MI<-:
[]
[Debug Adapter]
2024-03-17 19:02:04,618 - Debug Adapter (main) - ERROR - Failed to wait for completion of command "-file-exec-and-symbols e:/esp_project/vscode_project/build/vscode_project.elf" / 5!
Traceback (most recent call last):
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\command_processor.py", line 52, in __call__
on_request(protocol_message)
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\command_processor.py", line 75, in on_initialize_request
raise e
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\command_processor.py", line 70, in on_initialize_request
self.da.adapter_init()
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\debug_adapter.py", line 329, in adapter_init
raise e
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\debug_adapter.py", line 325, in adapter_init
self.start_gdb()
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\debug_adapter.py", line 678, in start_gdb
raise e
File "c:\Users\Admin\.vscode\extensions\espressif.esp-idf-extension-1.7.0\esp_debug_adapter\debug_adapter\debug_adapter.py", line 666, in start_gdb
self._gdb.exec_file_set(elf)
File "d:\Espressif\idf_tools\python_env\idf5.2_py3.11_env\Lib\site-packages\esp_debug_backend\gdb.py", line 283, in exec_file_set
res, _ = self._mi_cmd_run('-file-exec-and-symbols %s' % local_file_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "d:\Espressif\idf_tools\python_env\idf5.2_py3.11_env\Lib\site-packages\esp_debug_backend\gdb.py", line 206, in _mi_cmd_run
raise DebuggerTargetStateTimeoutError(
esp_debug_backend.defs.DebuggerTargetStateTimeoutError: Failed to wait for completion of command "-file-exec-and-symbols e:/esp_project/vscode_project/build/vscode_project.elf" / 5!
</xmp>
看上去是加载符号文件的问题,但符号文件是正常的
手动启动xtensa-esp32s3-elf-gdb.exe,并执行该条gdb命令,发现直接不返回了,等了1分钟…
所以判断是gdb的问题,
尝试去VisualGDB中的xtensa-esp32s3-elf-gdb.exe版本执行同样的命令,是正常的.
从VisualGDB中复制它的xtensa-esp32s3-elf-gdb.exe版本到路径D:\Espressif\idf_tools\tools\xtensa-esp-elf-gdb\12.1_20231023\xtensa-esp-elf-gdb\bin\
发现完全OK了,貌似要好几个文件
像esp32c3的不知道有没有问题,同样有问题的话得去找可用的gdb版本,没有安装VisualGDB的话,可以看看Arduino,里面也有可用的版本
但这两个xtensa-esp32s3-elf-gdb.exe文件,大小区别奇大..
ESP-IDF tools中的xtensa-esp32s3-elf-gdb.exe只有390KB
而VisualGDB中的xtensa-esp32s3-elf-gdb.exe有6MB+
2