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

Why "step into" position didn't match with new module ?

Dear All,
I have tried to run Dhry.uv2 in \keil\c51\example\dhry and it works. However, I tried to sdd some empty line between statements in every module such as Dhry.c or time.c ,I found when I type "step into" key , the cursor didn't match with new module ,it match with the posititon in old module.I found it seem to be due to DMO file
Because after build only .DMO keep old time. other is update to new time.

It is my big trouble ,because I couldn't study next when this bottleneck is still existed .

BR.

Parents
  • Nobody seems to know what the .dmo file is for. It's not a file type that you normally have to deal with with uVision, and there don't seem to be any such in my actual project directories. (Just from the name, and the fact that it shows up in the examples directory, I'd guess it has something to do with "demos".)

    What happens if you delete the .dmo file altogether?

    Also, try turning off optimization as much as possible. The optimizer in Keil C is ferocious, and on high optimize-for-space levels, it will even start merging parts of individual C statements when it can save a few bytes by doing so. This can make it very hard to follow in a source-level debugger when you step through individual instructions, as even a simple block of instructions may not all come from the same "source" line, as least as far as the debug symbol information is concerned.

Reply
  • Nobody seems to know what the .dmo file is for. It's not a file type that you normally have to deal with with uVision, and there don't seem to be any such in my actual project directories. (Just from the name, and the fact that it shows up in the examples directory, I'd guess it has something to do with "demos".)

    What happens if you delete the .dmo file altogether?

    Also, try turning off optimization as much as possible. The optimizer in Keil C is ferocious, and on high optimize-for-space levels, it will even start merging parts of individual C statements when it can save a few bytes by doing so. This can make it very hard to follow in a source-level debugger when you step through individual instructions, as even a simple block of instructions may not all come from the same "source" line, as least as far as the debug symbol information is concerned.

Children