Still sad situation with symbolic navigation in Ozone

  • Hi!
    Some time ago I raised a problem regarding poor navigation in Ozone project. That time I used Keil MDK with ArmCC. AlexD stated that they "do not support the 3rd party tool chain" however even provided by him SeggerStudio project showed a number of issues like:
    - No proper navigation on enumeration symbols (see enumVal1, enumVal2, enumVal3 in tat project),
    - No proper navigation on structure fields (Bit1, Bit2, Bit3, Bit4, Bit5, Bit6, Bit16, Byte, Halfword, Word),
    - No proper navigation on local variables (int i).
    "No proper navigation" means that if you right click on corresponding symbol (I mentioned in parentheses above) and choose "Show definition/declaration" you get only something like "Show.Definition ("Bit1"): No source code definition information." or "Show.Declaration ("enumVal1"): No source code declaration information." despite that information exists in the elf file (can be verified using readelf app).


    Recently I downloaded new version of Ozone (3.38g) but the things haven't changed! Or maybe I do something wrong way? But almost everything is in its default state as it was installed and I can't see any setting that can affect the problem (spent hours reading User Guide, browsing settings etc).
    It is sad that the debugger looked so powerful lacks so basic functions. Even Keil IDE seems more convenient in terms of text navigation (I don't mention free Qt Creator).

    Regards,
    scare

  • Hi sckare,
    thanks for your inquiry. We are not aware of such flaws in Ozone, but, unfortunately, from your description we cannot see what exactly is not working from your perspective. So could you please provide reproducers on eval boards, allowing us to reproduce the issues? We'd need the Ozone project file, the ELF file and all sources required for reproducing the issue. We also need a detailed description on what steps to perform in order to reproduce the issue. Please also describe what you see and why you think that this is wrong.
    In case there are multiple issues, feel free to provide multiple reproducers.
    Best regards
    -- AlexD

    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

  • Hi!
    Actually, everything you need is in mentioned project. It contains both elf-file and Ozone project file. No need in flashing elf/hex to evaluation board nor even eval board itself. Just open "StructUnionBitfield.jdebug", right click "enumVal1" (line 69, " _Enumerator = enumVal1;"), then click on Show Definition or Show Declaration. Only message "Show.Definition ("enumVal1"): No source code definition information." will appear, whereas an expected outcome would be cursor jump to line 21 ( enumVal1 = 1,) where actual enum value locates:


    2. Same with structure field: right click exactly on "Byte" (line 75, " _Structure.Byte = 0x42;"), then click on Show Definition or Show Declaration. Same message. Expected jump to line 43.

    3. Local variable: "i" (line 81, " for (i = 0; i < 100; i++) {"). Everything is the same. Expected jump to line 60:


    Same behavior with ArmCC compiled elf (debug info included) and same with GNU Arm compiler (-Og -g3 -gdwarf-4). You can flash it to a board and run debug session or not, but nothing changes.
    Is that how it was intended? Or I did something wrong?

    Regards,
    scare

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!