Discussion:
[omniORB] Debug problem
Carsten.Agger at tieto.com ()
2009-01-13 18:47:56 UTC
Permalink
I've made some changes in omniNames on Windows, and unsurprisingly I
committed some mistake and the application crashes.



So how do I debug it? As far as I can see, the "recommended" way is do
set the parameter BuildDebugBinary and do a "make export".



However, this breaks because there's no Python lib ending in "_d", so
omniidl.exe won't build. No sweat, I just copy the existing python lib
into "_d". However, now there's unresolved dependencies, apparently.





OK, now I try to bypass by going to the omniNames directory and do a
"make". This works, only I get a notice that there's no "VC80.pdb" and
therefore it will link as with no debug information.



Is there something I should set to get the VC80.pdb? Or what is the
recommended way to debug omniNames on Windows?



best regards and thanks in advance for any response,



Carsten Agger

Tieto Denmark







-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20090113/f76887da/attachment.htm
Martin Trappel
2009-01-14 14:22:31 UTC
Permalink
I?ve made some changes in omniNames on Windows, and unsurprisingly I
committed some mistake and the application crashes.
So you already know how to build omniNames in realease mode.
So how do I debug it? As far as I can see, the ?recommended? way is do
set the parameter BuildDebugBinary and do a ?make export?.
I have never needed to build omniORB myself yet, but you could try to
just run the release build under the debugger and see if you can find
the error that way.
(...)
Is there something I should set to get the VC80.pdb? Or what is the
recommended way to debug omniNames on Windows?
VC80.pdb is the default name for the program database file. See the
/Z[i|d|...] compiler switch.


br,
Martin
Carsten.Agger at tieto.com ()
2009-01-14 17:47:39 UTC
Permalink
-----Oprindelig meddelelse-----
Fra: Martin Trappel [mailto:***@gmx.at]
Sendt: 14. januar 2009 09:22
Til: Agger Carsten
Cc: omniorb-***@omniorb-support.com
Emne: Re: [omniORB] Debug problem


I have never needed to build omniORB myself yet, but you could try to
just run the release build under the debugger and see if you can find
the error that way.

Thanks - this didn't help, but I found out how to do it: In the file
src/tool/dir.mk,

I inserted an ifndef BuildDebugBinary ... endif around the definition of
SUBDIRS and the all:: and install:: parts.

This makes the build ignore omniidl if it's done in debug mode.

All I had to do now was to

1) first do a

make export

without BuildDebugBinary so we know that all files include omniidl.exe
actually exist in $OMNIORB_TOP/bin/x86_win32

2) then do a

make clean

(or veryclean) to remove all binaries from the source directories,

3) set BuildDebugBinary by uncommenting the relevant line in
$OMNIORB_TOP/config/config.mk

4) do a new

make export

Everything except omniidl.exe is now built with debug information,
including omniNames.exe. Maybe this skipping of omniidl.exe should be
included in the official distribution.

Anyway, it works and the code may be debugged. But this was *so* much
easier on Ubuntu. Oh well...

br
Carsten

Loading...