Re: [hatari-devel] symbols not always loaded when entering debugger ?

[ Thread Index | Date Index | More Archives ]


On 11/12/2017 11:29 PM, Eero Tamminen wrote:
On 11/12/2017 11:03 PM, Thorsten Otto wrote:
On Sonntag, 12. November 2017 17:55:15 CET Nicolas Pomarède wrote:
But if my program crashes with an address error for example, it will
display 3 bombs and if I press alt+pause, then debugger is started, but
symbols are not loaded from test.prg this time :

I would bet that this is because your program is already terminated, and thus no longer available through gemdos. The code may still be in memory until you
run another program, but it is not the "current" program anymore.

One can easily check that by using:
     symbols prg

It will tell whether there's (still) a program known by GEMDOS,
from which symbols could be loaded.

If there wasn't a program known anymore by TOS, you can do...

In shell:
	gst2ascii <program>  >  symbols.txt

In Hatari debugger:
	symbols symbols.txt <program TEXT section address>

	- Eero

I think that's an error, the symbol should also be added if its position
is the end of the section (BSS in that case), ie its position is end of
section + 1

Yes i noticed that already when adding support for a.out. For the data and bss segments, the end addresses are set to last address - 1 (maybe to catch cases
when these sections are empty?)

If I remember correctly, I just wanted to make sure that all symbols
are valid according to their types.  I.e. BSS symbols should really be inside the BSS section, not offset by +1 and overwriting something
from another section (in BSS case, I guess that would be stack).

It wouldn't be the first time I see a problem with that (Atari has
a lot of compilers, and their different versions, some of them
somewhat buggy).

However, I guess marking end of section by a symbol that's just outside
the the section itself is common enough case, that debugger should
accept it.

     - Eero

Mail converted by MHonArc 2.6.19+