Opened 16 years ago

Closed 12 years ago

#188 closed defect (wontfix)

Cannot debug long C files

Reported by: guest Owned by: bird
Priority: normal Milestone: libc-0.6.5
Component: emx Version: 0.6
Severity: normal Keywords:
Cc: mozilla@…

Description

I'm not actually sure if this is a problem of the compiler, the linker, or the symbol format used by the debuggers. But I cannot debug long C files because in the debugger I am shown the wrong lines.

An example of such a problem is the SQLite amalgamation which has almost 68000 source lines. In the debugger I am put to line 1954 when I should really be looking at line 67487. That made me think the limit was 216 but I then cut the source down to 63000 lines by removing Win and Unix cases and still was put to line ~28800 when I should have been looking at 62205...

This is with GCC 3.3.5 CSD3.

Change History (5)

comment:1 Changed 16 years ago by guest

Indeed when compiling I get many messages like this

{standard input}:22084: Warning: .stabs: description field '10c58' too big, try a different debug format

so it would seem the format is at fault. Any way around that?

comment:2 Changed 16 years ago by Steven Levine

This is a combination a issues.

See

http://www.openwatcom.org/ftp/devel/docs/ibmhll.html

Line number entries are shorts, so we are limited to 64K-1 lines. It appears that the debugger is treating these as signed rather than unsigned and thus the 32K-1 limit.

comment:3 Changed 16 years ago by Steven Levine

BTW, my prior comment applies to type 0 line number entries. If the compiler generated type 2 entries for large source files, it's possible the the debugger can handle them.

comment:4 Changed 13 years ago by bird

Component: baselayoutemx
Milestone: libc-0.6.4
Status: newassigned

It could be an emxomf problem, will check. Thanks for the hints Steven.

comment:5 Changed 12 years ago by bird

Resolution: wontfix
Status: assignedclosed

emxomf generates type 0. I doubt type 2 makes any difference as the source file line number is still 16-bit, only the listing is 32-bit. If someone want to experiment with generating type 2 and see what the debugger actually does, be my guest, I just don't think it's something I should be spending time on right now. The number of source files with more than 32K lines in one file are very few.

Note: See TracTickets for help on using tickets.