Hi, again. I just did a debug trace with the "fulldbg" build from
today, and I got some interesting information.
Here is the debug info, if anyone wants to follow. I set a breakpoint
at Print::run(), invoked the Print dialog, and started single-stepping
from there. After each step, I did a backtrace.
Look at the value of Print's "this", 0x22efac . And
skip to the bottom, and look at the last stacktrace.
Note that the stack appears to be screwed after
NetEnumerateComputerNames (),
between stack depths #7 and #5.
This is my own code, so it doesn't map to what you would see in print.cpp.
But what is important is the change in the stack during the call to
run().
====================================================================
Breakpoint 1, Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
179 _printop->run();
1: this->_doc = (SPDocument *) 0x459bea0
(gdb) display _base
2: this->_base = (SPItem *) 0x3e860c0
(gdb) s
0x008f9a90 in Gtk::PrintOperation::run () at CairoOutputDev.h:72
72 // (Upside-down means (0,0) is the top left corner of the page.)
(gdb) bt
#0 0x008f9a90 in Gtk::PrintOperation::run () at CairoOutputDev.h:72
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:56
56 printoperation.cc: No such file or directory.
in printoperation.cc
(gdb) bt
#0 Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:56
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
63 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:63
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
56 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:56
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
63 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:63
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
61 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:61
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
63 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:63
#1 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#2 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
0x017067c0 in gtk_print_operation_run ()
at c:/mingw/bin/../lib/gcc/mingw32/4.2.1-dw2/include/c++/bits/vector.tcc:244
244 vector<_Tp, _Alloc>::
(gdb) bt
#0 0x017067c0 in gtk_print_operation_run ()
at c:/mingw/bin/../lib/gcc/mingw32/4.2.1-dw2/include/c++/bits/vector.tcc:244
#1 0x01697f4d in Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:63
#2 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#3 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#4 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#5 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#6 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#7 0x045a1d20 in ?? ()
#8 0x00000000 in ?? ()
(gdb) s
0x605c8580 in NetEnumerateComputerNames ()
from C:\inkscape\libgtk-win32-2.0-0.dll
(gdb) bt
#0 0x605c8580 in NetEnumerateComputerNames ()
from C:\inkscape\libgtk-win32-2.0-0.dll
#1 0x01697f4d in Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:63
#2 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#3 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#4 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#5 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#6 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#7 0x045a1d20 in ?? ()
#8 0x00000000 in ?? ()
(gdb) s
Single stepping until exit from function NetEnumerateComputerNames,
which has no line number information.
0x6275fcf0 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
(gdb) bt
#0 0x6275fcf0 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#1 0x605c86a9 in NetEnumerateComputerNames ()
from C:\inkscape\libgtk-win32-2.0-0.dll
#2 0x0575a408 in ?? ()
#3 0x03e70e40 in ?? ()
#4 0x0022ef88 in ?? ()
#5 0x004fa246 in Print (this=0x11, doc=0x0, base=0x0)
at src/ui/dialog/print.cpp:170
#6 0x01697f4d in Gtk::PrintOperation::run (this=0x7005df8,
action=Gtk::PRINT_OPERATION_ACTION_PRINT_DIALOG) at printoperation.cc:63
#7 0x004f977b in Inkscape::UI::Dialog::Print::run (this=0x22efac)
at src/ui/dialog/print.cpp:179
#8 0x0041aa6f in sp_print_document (parentWindow=@0x5499300, doc=0x459bea0)
at src/print.cpp:138
#9 0x00410c1e in sp_file_print (parentWindow=@0x5499300) at src/file.cpp:1378
#10 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/action.cpp:181
#11 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\libgobject-2.0-0.dll
#12 0x045a1d20 in ?? ()
#13 0x00000000 in ?? ()
(gdb)
Hi, again. I just did a debug trace with the "fulldbg" build from
today, and I got some interesting information.
Here is the debug info, if anyone wants to follow. I set a breakpoint
at Print::run(), invoked the Print dialog, and started single-stepping
from there. After each step, I did a backtrace.
Look at the value of Print's "this", 0x22efac . And puterNames (),
skip to the bottom, and look at the last stacktrace.
Note that the stack appears to be screwed after
NetEnumerateCom
between stack depths #7 and #5.
This is my own code, so it doesn't map to what you would see in print.cpp.
But what is important is the change in the stack during the call to
run().
======= ======= ======= ======= ======= ======= ======= ======= ======= ===== :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 tion::run () at CairoOutputDev.h:72 tion::run () at CairoOutputDev.h:72 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:56 tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:56 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:63 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:56 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:63 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:61 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:63 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll operation_ run () bin/../ lib/gcc/ mingw32/ 4.2.1-dw2/ include/ c++/bits/ vector. tcc:244
Breakpoint 1, Inkscape:
at src/ui/
179 _printop->run();
1: this->_doc = (SPDocument *) 0x459bea0
(gdb) display _base
2: this->_base = (SPItem *) 0x3e860c0
(gdb) s
0x008f9a90 in Gtk::PrintOpera
72 // (Upside-down means (0,0) is the top left corner of the page.)
(gdb) bt
#0 0x008f9a90 in Gtk::PrintOpera
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
Gtk::PrintOpera
action=
56 printoperation.cc: No such file or directory.
in printoperation.cc
(gdb) bt
#0 Gtk::PrintOpera
action=
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
63 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOpera
action=
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
56 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOpera
action=
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
63 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOpera
action=
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
61 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOpera
action=
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
63 in printoperation.cc
(gdb) bt
#0 Gtk::PrintOpera
action=
#1 0x004f977b in Inkscape:
at src/ui/
#2 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#3 0x00410c1e in sp_file_print (parentWindow=
#4 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#5 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#6 0x045a1d20 in ?? ()
#7 0x00000000 in ?? ()
(gdb) s
0x017067c0 in gtk_print_
at c:/mingw/
244 vector<_Tp, _Alloc>:: operation_ run () bin/../ lib/gcc/ mingw32/ 4.2.1-dw2/ include/ c++/bits/ vector. tcc:244
(gdb) bt
#0 0x017067c0 in gtk_print_
at c:/mingw/
#1 0x01697f4d in Gtk::PrintOpera tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:63 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll puterNames () libgtk- win32-2. 0-0.dll puterNames () libgtk- win32-2. 0-0.dll tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:63 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll puterNames, libgobject- 2.0-0.dll libgobject- 2.0-0.dll puterNames () libgtk- win32-2. 0-0.dll dialog/ print.cpp: 170 tion::run (this=0x7005df8, Gtk::PRINT_ OPERATION_ ACTION_ PRINT_DIALOG) at printoperation. cc:63 :UI::Dialog: :Print: :run (this=0x22efac) dialog/ print.cpp: 179 @0x5499300, doc=0x459bea0) @0x5499300) at src/file.cpp:1378 action. cpp:181 libgobject- 2.0-0.dll
action=
#2 0x004f977b in Inkscape:
at src/ui/
#3 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#4 0x00410c1e in sp_file_print (parentWindow=
#5 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#6 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#7 0x045a1d20 in ?? ()
#8 0x00000000 in ?? ()
(gdb) s
0x605c8580 in NetEnumerateCom
from C:\inkscape\
(gdb) bt
#0 0x605c8580 in NetEnumerateCom
from C:\inkscape\
#1 0x01697f4d in Gtk::PrintOpera
action=
#2 0x004f977b in Inkscape:
at src/ui/
#3 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#4 0x00410c1e in sp_file_print (parentWindow=
#5 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#6 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#7 0x045a1d20 in ?? ()
#8 0x00000000 in ?? ()
(gdb) s
Single stepping until exit from function NetEnumerateCom
which has no line number information.
0x6275fcf0 in _libmsvcrt_a_iname () from C:\inkscape\
(gdb) bt
#0 0x6275fcf0 in _libmsvcrt_a_iname () from C:\inkscape\
#1 0x605c86a9 in NetEnumerateCom
from C:\inkscape\
#2 0x0575a408 in ?? ()
#3 0x03e70e40 in ?? ()
#4 0x0022ef88 in ?? ()
#5 0x004fa246 in Print (this=0x11, doc=0x0, base=0x0)
at src/ui/
#6 0x01697f4d in Gtk::PrintOpera
action=
#7 0x004f977b in Inkscape:
at src/ui/
#8 0x0041aa6f in sp_print_document (parentWindow=
at src/print.cpp:138
#9 0x00410c1e in sp_file_print (parentWindow=
#10 0x004e9cc2 in sp_action_perform (action=0x45a1d20, data=0x0)
at src/helper/
#11 0x62743995 in _libmsvcrt_a_iname () from C:\inkscape\
#12 0x045a1d20 in ?? ()
#13 0x00000000 in ?? ()
(gdb)