linux linenumbers in stacktraces and druntime/phobos debug builds..
Vijay Nayar
vnayar at wgen.net
Wed Feb 8 15:48:00 PST 2012
I actually ran into this myself while working on a pet game project, and
here's what I do.
First, let's start with a simple program that segfaults due to a null
pointer.
// File seg.d
class Dummy {
int a;
}
void main() {
Dummy d;
d.a = 3;
}
You compile and run the program with expected results.
$ dmd seg.d
$ ./seg
Segmentation fault
If you have an older version of gdb, you should compile your program to
include C compatible symbols.
$ dmd -gc seg.d
Now run your program through gdb.
$ gdb seg
(gdb) run
Starting program: /home/vnayar/projects/Demo/seg
[Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
_Dmain () at seg.d:7
7 d.a = 3;
And now you're good to go.
- Vijay
On Mon, 6 Feb 2012, simendsjo wrote:
> I get an segfault in druntime, but have no idea where to start looking.
> _D4core7runtime18runModuleUnitTestsUZb19unittestSegvHandlerUiPS4core3sys5posix6signal9siginfo_tPvZv+0x3c
>
> I cannot seem to find a way to enable line numbers in traces (adding -g adds
> line numbers in win, but not linux), and I cannot find any debug build of
> libphobos2.a - is it included? what is it called?
>
> PS: using dmd 2.057 on kubuntu x64 using the deb package from digitalmars.com
>
More information about the Digitalmars-d-learn
mailing list