-
Notifications
You must be signed in to change notification settings - Fork 3
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
feat: ESP exception decoder tool for Arduino IDE #1
Conversation
dankeboy36
commented
May 25, 2023
•
edited
Loading
edited
- Readme preview: https://github.com/dankeboy36/esp-exception-decoder/tree/init#readme.
- Get the VSIX from https://github.com/dankeboy36/esp-exception-decoder/raw/init/esp-exception-decoder-0.1.0-beta.1.vsix.
findElfPath(sketchFolderName, buildPath), | ||
]); | ||
if (!elfPath) { | ||
throw new DecodeParamsError( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Manually pick the .elf
file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will implement it in the first iteration if there is a request. Otherwise, maybe later.
There are cases where user interaction is required by an extension tool (e.g., the ESP8266 fs tool asks for confirmation before creating an empty image), but for the .elf
lookup, the CLI should be sufficient to locate the file. The behavior could be unpredictable if users can pick any arbitrary elf files.
Let's see what will be the first user feedback. But I would postpone making this feature parity with the original implementation.
When the path to the file contains spaces, the terminal coloring is broken. PC: 0x400d129d: loop() (C:\Users\kittaakos\Desktop\sketchbooks\test_sketchbook__1\neste at with parentheses)\sketch_3\sketch_3.ino:4
EXCVADDR: 0x00000000
Decoding stack results
0x400d129a: loop() (C:\Users\kittaakos\Desktop\sketchbooks\test_sketchbook__1\neste at with parentheses)\sketch_3\sketch_3.ino:3
0x400d2305: loopTask(void*) at C:\Users\kittaakos\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.9\cores\esp32\main.cpp:50
Paste exception to decode... The raw debug message:
|
The parenthesis in the path was the problem. Fixed in e05fb26. The whitespace in the path causes the terminal link resolver to stop working in Theia. Maybe it's unsupported. In this case, here is the reference implementation: microsoft/vscode#97941 |
@per1234 and @me-no-dev, could you please help me verify the first release? If yes, here are the steps:
I am open to any feedback. Thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure whether anything can be done about it in this extension, but I thought it at least worth mentioning that this causes a "Split Terminal" icon to appear on the bottom panel toolbar:
This is a bit unexpected since we would normally only expect this to be shown when a terminal view is selected in the panel.
More significantly, this causes Arduino IDE to be impacted by a bug in Theia:
It adds a new "Split Terminal" button on the IDE toolbar:
An out of place "Split Terminal" icon on the editor toolbar:
And another out of place "Split Terminal" icon on the Debug view toolbar:
I see a fix is in progress:
eclipse-theia/theia#12626
Thank you! Good idea. I can disable it in IDE2 at arduino/arduino-ide#2110 or in another PR.
I will make the same change in IDE2. I will also cherry-pick eclipse-theia/theia#12587 into the Arduino IDE. |
The changes are in IDE2: arduino/arduino-ide#2110 |
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
🎉 This PR is included in version 1.0.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |