This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Keil uVision 5 under VMWare Fusion - can't set breakpoints!

For the past couple months, I have been running Keil uVision 5 within Windows 10 hosted in Mac OS Mojave. I have not encountered any issues until just now. But I've just discovered a weirdness with this particular project, and I'm not sure what could be causing it. I made a video that I'll link to below.

I can launch and run this project in the debugger and set a breakpoint in main() if the project files are located on the windows desktop. Note the black bars to the left of main, indicating where breakpoints can be set, and the red dot is a breakpoint that has been set. All good. So I close this window, and copy the entire project folder to a folder that happens to be a VMWare share (folder hosted on MacOS and shared to Windows via VMWare), I can open the project here.

But note that even after rebuilding everything, the grey bars are gone, the red dot is replaced by a question mark, indicating I cannot set breakpoints anywhere. And apparently the linker doesn't even recognize main(). If I step through startup in the debugger, the call to __main does not jump to main() in main.c. Very odd.

Any suggestions (other than the obvious, run the project from the Windows desktop). I would like to be able to have the project files located on a VMWare share for a number or reasons. 

Screen shot video here:  www.youtube.com/watch

Parents
  • Did you open a support case with Keil? I saw two differences in the video that could be related and relevant to your problem. First, in the 'working' build you can see symbols in the disassembly view around main after you switch to the debugger -- these don't show in the shared folder version. 

    Second, you can see the breakpoint set command in the debug command console in the working version, but not in the shared folder version. It could be that there is an issue loading the symbols after the image has been flashed to the part, although I'd expect an error message from the debugger if there is. You can run the symbol load from the debugger console manually with the LOAD command to test that theory. 

    Finally, your video shows you stepping over the register setup to branch to __main, but not actually stepping into the branch to __main (which is the start of the scatterloader and should eventually get to your main()). 

Reply
  • Did you open a support case with Keil? I saw two differences in the video that could be related and relevant to your problem. First, in the 'working' build you can see symbols in the disassembly view around main after you switch to the debugger -- these don't show in the shared folder version. 

    Second, you can see the breakpoint set command in the debug command console in the working version, but not in the shared folder version. It could be that there is an issue loading the symbols after the image has been flashed to the part, although I'd expect an error message from the debugger if there is. You can run the symbol load from the debugger console manually with the LOAD command to test that theory. 

    Finally, your video shows you stepping over the register setup to branch to __main, but not actually stepping into the branch to __main (which is the start of the scatterloader and should eventually get to your main()). 

Children
No data