klonyyy / MCUViewer

Real-time embedded variable & trace viewer
GNU General Public License v3.0
788 stars 79 forks source link

No variables found with .elf import #87

Closed thencious closed 2 weeks ago

thencious commented 2 weeks ago

Version/Branch:

1.0.0

Operating system:

windows 11

Debug probe:

ST-Link V2

Details:

No variables found with .elf import ELF (in ZIP, elf isn't supported) firmware.zip

Screenshots/Video:

image

r0oland commented 2 weeks ago

Have you tried changing the compiler flag for debug symbols to -g1?

That solved it for me.

On Sun, Sep 29, 2024, 02:35 theni @.***> wrote:

Version/Branch:

1.0.0 Operating system:

windows 11 Debug probe:

ST-Link V2 Details:

No variables found with .elf import ELF (in ZIP, elf isn't supported) firmware.zip https://github.com/user-attachments/files/17177051/firmware.zip Screenshots/Video:

image.png (view on web) https://github.com/user-attachments/assets/89dc69e0-2a78-4772-a5b0-3867d05f6a0d

— Reply to this email directly, view it on GitHub https://github.com/klonyyy/MCUViewer/issues/87, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEIHZPPFBRGLQHYQB24CPTZY5DMNAVCNFSM6AAAAABPBCJ4R2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2TINJXGU4DKMI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

thencious commented 2 weeks ago

Hi, yes i did just now, it's showing a lot of variables now, although not the current sense phase currents for which I'm only seeing these 3 options. I want current.a and current.b from current_sense.getPhaseCurrents(). Any idea what i need to do to get them? Currently I'm only using: // get phase currents PhaseCurrent_s current = current_sense.getPhaseCurrents(); MySerial.print("A: "); MySerial.println(current.a); MySerial.print("B: "); MySerial.println(current.b); image

klonyyy commented 2 weeks ago

Please make sure the variable is global i.e. it persists throughout the whole lifetime of the program. Its not possible to visualize variables which are on the stack and get destroyed after the function returns.

It might be that the parser is unable to find some of the types - in such cases please let me know and I'll fix it and in the meantime you can always type the variable name manually in the main window and click "update variable addresses"