You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Ochirov Nikolay <oc...@gmail.com> on 2012/05/07 20:49:55 UTC
debugging with gdb
How to add debugging symbols of AOO in gdb?
I'm trying to debug the AOO but can't figure out how to add debug
information into gdb. I add --enable-symbols in configure, and add the
path to the source into gdb(maybe it's not right?).
But when debugging gdb writes to the console - no debugging symbols
found. What's wrong?
Regards,
Nikolay.
Re: debugging with gdb
Posted by eric b <er...@free.fr>.
Le 8 mai 12 à 20:08, Ochirov Nikolay a écrit :
> Hi,
> that's part of gdb session:
> ...
> Continuing.
> #0 desktop::Desktop::Main (this=0xbfc28244) at /home/user/ooo/
> main/desktop/source/app/app.cxx:1670
> #1 0x018b410d in ImplSVMain() () from /opt/openoffice.org3/
> program/../basis-link/program/libvcl.so
> #2 0x018b42a4 in SVMain() () from /opt/openoffice.org3/
> program/../basis-link/program/libvcl.so
> #3 0x0027199c in soffice_main () from /opt/openoffice.org3/
> program/../basis-link/program/libsofficeapp.so
> #4 0x08048d14 in main ()
>
> there are no symbols for module vcl, although i have rebuil /main/
> vcl so:
> cd ooo/main/vcl
> make -sr DEBUG=yes
> what am i doing wrong ?
>
in vcl, do :
mv unxlng*.pro unxlng*.pro_back
build debug=t
=> in the new unxlng*.pro/lib, there will be some new libs,
including symbols. Replace the stripped one you got in your set with
these new libs.
Quit OpenOffice and run it again using gdb, and then you should be
able to hit some breakpoints in vcl code.
FYI, I wrote this page some times ago : http://wiki.ooo4kids.org/
index.php/ClassRooms/gdbBasics
Regards,
Eric
> sincerely,
> Nikolay
>
> 2012/5/8 Ariel Constenla-Haile <ar...@apache.org>
>
>> Hi Nikolay,
>>
>> On Tue, May 08, 2012 at 08:47:37PM +0400, Ochirov Nikolay wrote:
>>> Thank you, Andre, I notice that.
>>> I rebuilt desktop module but still nothing happened.
>>> I will try again)
>>
>> There might be some missing step, please copy the steps you are
>> following, how and where are you copying the libraries with debugging
>> symbols, etc.
>>
>>
>>> 2012/5/8 Andre Fischer <af...@a-w-f.de>
>>>
>>>> Hm,
>>>>
>>>> There was small typo in one of the build command line. It
>>>> should be
>>>>
>>>> cd trunk/main/desktop
>>>> build debug=true dbglevel=3
>>>> ^
>>
>> ups, my mistake!
>> Fixing this, and following the steps posted in the other mails should
>> work out of the box.
>>
>>
>> Regards
>> --
>> Ariel Constenla-Haile
>> La Plata, Argentina
>>
--
qɔᴉɹə
Projet OOo4Kids : http://wiki.ooo4kids.org/index.php/Main_Page
L'association EducOOo : http://www.educoo.org
Blog : http://eric.bachard.org/news
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Hi, all!
Thank you, Ariel and Eric!
Thanks to your tips i begin to understand what's what)
and one more question:
build script gives this warning:
...
WARNING(S):
Some modules contain old output trees! Please check:
instsetoo_nativeuser@ubuntu:~/ooo/main/instsetoo_native$ clean output trees
...
What does it mean the message "clean output trees"? How to do that?
Regars,
Nikolay.
2012/5/9 Ariel Constenla-Haile <ar...@apache.org>
> Hi Nikolay,
>
> On Wed, May 09, 2012 at 07:07:49PM +0400, Ochirov Nikolay wrote:
> > Hi all!
> > Again, it doesn't work
> >
> > Here's the output gdb:
> > ...
> > 0x0349594f in?? () From / opt / openoffice.org / ure / lib /
> > bootstrap.uno.so
> >
> > I rebuilt the module stoc as Eric suggested:
> > ooo cd / main / stoc
> > mv unxlng *. pro unxlng *. pro_back
> > build debug = t
>
> Don't miss the dbglevel if you want extra debug code (usually ifdefined)
>
> build debug=true dbglevel=3
>
> >
> > And if I understand correctly, received new libraries i copied to the
> /opt/
> > openoffice.org/basis.3/programm/libs
>
> this library belongs to the URE:
>
> [ariel@localhost ~]$ locate bootstrap.uno.so
> /opt/openoffice.org/ure/lib/bootstrap.uno.so
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Nikolay,
On Wed, May 09, 2012 at 07:07:49PM +0400, Ochirov Nikolay wrote:
> Hi all!
> Again, it doesn't work
>
> Here's the output gdb:
> ...
> 0x0349594f in?? () From / opt / openoffice.org / ure / lib /
> bootstrap.uno.so
>
> I rebuilt the module stoc as Eric suggested:
> ooo cd / main / stoc
> mv unxlng *. pro unxlng *. pro_back
> build debug = t
Don't miss the dbglevel if you want extra debug code (usually ifdefined)
build debug=true dbglevel=3
>
> And if I understand correctly, received new libraries i copied to the /opt/
> openoffice.org/basis.3/programm/libs
this library belongs to the URE:
[ariel@localhost ~]$ locate bootstrap.uno.so
/opt/openoffice.org/ure/lib/bootstrap.uno.so
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Hi all!
Again, it doesn't work
Here's the output gdb:
...
0x0349594f in?? () From / opt / openoffice.org / ure / lib /
bootstrap.uno.so
I rebuilt the module stoc as Eric suggested:
ooo cd / main / stoc
mv unxlng *. pro unxlng *. pro_back
build debug = t
And if I understand correctly, received new libraries i copied to the /opt/
openoffice.org/basis.3/programm/libs
Maybe I did something wrong again?
Regards,
Nikolay.
2012/5/9 Ariel Constenla-Haile <ar...@apache.org>
> Hi Nikolay,
>
> On Tue, May 08, 2012 at 11:21:03PM +0400, Ochirov Nikolay wrote:
> > Thank you for help, Ariel!
> > Your hint is very usefull! I didn't clean, yes)
> > And one more question if i may:
> > Which module should be rebuilt in order to get the debugging symbols for
> > bootstrap.uno.so?
>
> For modules not converted to gbuild, you can search the library in
> <module>/<OUT>/lib
>
> For example:
>
> ]$ cd trunk/main/
> ]$ find -name bootstrap.uno.so
> ./solver/340/unxlngx6/lib/bootstrap.uno.so
> ./stoc/unxlngx6/lib/bootstrap.uno.so
> ./instsetoo_native/unxlngx6/OpenOffice/installed/install/de/
> openoffice.org/ure/lib/bootstrap.uno.so
> ./instsetoo_native/unxlngx6/OpenOffice/installed/install/es/
> openoffice.org/ure/lib/bootstrap.uno.so
> ./instsetoo_native/unxlngx6/OpenOffice/installed/install/en-US/
> openoffice.org/ure/lib/bootstrap.uno.so
>
>
> The answer is module stoc.
>
> Modules converted to gbuild don't generate files inside the module
> folder (only logs, if you built with --html). I guess that here you can
> find the pattern <module>/Library_LIBNAME.mk
>
> For example, if you want to find vbaswobj.uno.so, strip all prefixes and
> suffixes from the library name (lib, uno, so) and search for
>
> Library_vbaswobj.mk
>
> ]$ find -name Library_vbaswobj.mk
> ./sw/Library_vbaswobj.mk
>
>
> It is built in sw.
>
> Hope this helps :)
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Nikolay,
On Tue, May 08, 2012 at 11:21:03PM +0400, Ochirov Nikolay wrote:
> Thank you for help, Ariel!
> Your hint is very usefull! I didn't clean, yes)
> And one more question if i may:
> Which module should be rebuilt in order to get the debugging symbols for
> bootstrap.uno.so?
For modules not converted to gbuild, you can search the library in
<module>/<OUT>/lib
For example:
]$ cd trunk/main/
]$ find -name bootstrap.uno.so
./solver/340/unxlngx6/lib/bootstrap.uno.so
./stoc/unxlngx6/lib/bootstrap.uno.so
./instsetoo_native/unxlngx6/OpenOffice/installed/install/de/openoffice.org/ure/lib/bootstrap.uno.so
./instsetoo_native/unxlngx6/OpenOffice/installed/install/es/openoffice.org/ure/lib/bootstrap.uno.so
./instsetoo_native/unxlngx6/OpenOffice/installed/install/en-US/openoffice.org/ure/lib/bootstrap.uno.so
The answer is module stoc.
Modules converted to gbuild don't generate files inside the module
folder (only logs, if you built with --html). I guess that here you can
find the pattern <module>/Library_LIBNAME.mk
For example, if you want to find vbaswobj.uno.so, strip all prefixes and
suffixes from the library name (lib, uno, so) and search for
Library_vbaswobj.mk
]$ find -name Library_vbaswobj.mk
./sw/Library_vbaswobj.mk
It is built in sw.
Hope this helps :)
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Thank you for help, Ariel!
Your hint is very usefull! I didn't clean, yes)
And one more question if i may:
Which module should be rebuilt in order to get the debugging symbols for
bootstrap.uno.so?
sincerely,
Nikolay.
2012/5/8 Ariel Constenla-Haile <ar...@apache.org>
> Hi Nikolay,
>
> On Tue, May 08, 2012 at 10:08:37PM +0400, Ochirov Nikolay wrote:
> > Hi,
> > that's part of gdb session:
> > ...
> > Continuing.
> > #0 desktop::Desktop::Main (this=0xbfc28244)
> > at /home/user/ooo/main/desktop/source/app/app.cxx:1670
> > #1 0x018b410d in ImplSVMain() ()
> > from /opt/openoffice.org3/program/../basis-link/program/libvcl.so
> > #2 0x018b42a4 in SVMain() ()
> > from /opt/openoffice.org3/program/../basis-link/program/libvcl.so
> > #3 0x0027199c in soffice_main ()
> > from /opt/openoffice.org3/program/../basis-link/program/libsofficeapp.so
> > #4 0x08048d14 in main ()
> >
> > there are no symbols for module vcl, although i have rebuil /main/vcl
> so:
> > cd ooo/main/vcl
>
> did you clean first?
>
> cd trunk/main/vcl
> make -sr clean
>
> > make -sr DEBUG=yes
> > what am i doing wrong ?
>
> and then copy the libraries from the solver to the office installation.
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Nikolay,
On Tue, May 08, 2012 at 10:08:37PM +0400, Ochirov Nikolay wrote:
> Hi,
> that's part of gdb session:
> ...
> Continuing.
> #0 desktop::Desktop::Main (this=0xbfc28244)
> at /home/user/ooo/main/desktop/source/app/app.cxx:1670
> #1 0x018b410d in ImplSVMain() ()
> from /opt/openoffice.org3/program/../basis-link/program/libvcl.so
> #2 0x018b42a4 in SVMain() ()
> from /opt/openoffice.org3/program/../basis-link/program/libvcl.so
> #3 0x0027199c in soffice_main ()
> from /opt/openoffice.org3/program/../basis-link/program/libsofficeapp.so
> #4 0x08048d14 in main ()
>
> there are no symbols for module vcl, although i have rebuil /main/vcl so:
> cd ooo/main/vcl
did you clean first?
cd trunk/main/vcl
make -sr clean
> make -sr DEBUG=yes
> what am i doing wrong ?
and then copy the libraries from the solver to the office installation.
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Hi,
that's part of gdb session:
...
Continuing.
#0 desktop::Desktop::Main (this=0xbfc28244)
at /home/user/ooo/main/desktop/source/app/app.cxx:1670
#1 0x018b410d in ImplSVMain() ()
from /opt/openoffice.org3/program/../basis-link/program/libvcl.so
#2 0x018b42a4 in SVMain() ()
from /opt/openoffice.org3/program/../basis-link/program/libvcl.so
#3 0x0027199c in soffice_main ()
from /opt/openoffice.org3/program/../basis-link/program/libsofficeapp.so
#4 0x08048d14 in main ()
there are no symbols for module vcl, although i have rebuil /main/vcl so:
cd ooo/main/vcl
make -sr DEBUG=yes
what am i doing wrong ?
sincerely,
Nikolay
2012/5/8 Ariel Constenla-Haile <ar...@apache.org>
> Hi Nikolay,
>
> On Tue, May 08, 2012 at 08:47:37PM +0400, Ochirov Nikolay wrote:
> > Thank you, Andre, I notice that.
> > I rebuilt desktop module but still nothing happened.
> > I will try again)
>
> There might be some missing step, please copy the steps you are
> following, how and where are you copying the libraries with debugging
> symbols, etc.
>
>
> > 2012/5/8 Andre Fischer <af...@a-w-f.de>
> >
> > > Hm,
> > >
> > > There was small typo in one of the build command line. It should be
> > >
> > > cd trunk/main/desktop
> > > build debug=true dbglevel=3
> > > ^
>
> ups, my mistake!
> Fixing this, and following the steps posted in the other mails should
> work out of the box.
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Nikolay,
On Tue, May 08, 2012 at 08:47:37PM +0400, Ochirov Nikolay wrote:
> Thank you, Andre, I notice that.
> I rebuilt desktop module but still nothing happened.
> I will try again)
There might be some missing step, please copy the steps you are
following, how and where are you copying the libraries with debugging
symbols, etc.
> 2012/5/8 Andre Fischer <af...@a-w-f.de>
>
> > Hm,
> >
> > There was small typo in one of the build command line. It should be
> >
> > cd trunk/main/desktop
> > build debug=true dbglevel=3
> > ^
ups, my mistake!
Fixing this, and following the steps posted in the other mails should
work out of the box.
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Thank you, Andre, I notice that.
I rebuilt desktop module but still nothing happened.
I will try again)
2012/5/8 Andre Fischer <af...@a-w-f.de>
> Hm,
>
> There was small typo in one of the build command line. It should be
>
> cd trunk/main/desktop
> build debug=true dbglevel=3
> ^
>
> The missing b does not lead to an error, the debug information is just
> not added.
>
> -Andre
>
>
> On 08.05.2012 16:56, Ochirov Nikolay wrote:
>
>> gdb is still writes to console - debugging symbols not found
>> Can anyone give an example of configure script for configuration with
>> debugging symbols
>> 2012/5/8 Ariel Constenla-Haile<arielch@**apache.org <ar...@apache.org>>
>>
>> Hi Nikolay,
>>>
>>> On Tue, May 08, 2012 at 12:25:15AM +0400, Ochirov Nikolay wrote:
>>>
>>>> Thank you, Ariel!
>>>> I will try to deal with gbuild. This is somwthing new)
>>>> In general, I want to debug feature Desktop::Main(). After correcting i
>>>> have error in it.
>>>>
>>>
>>> then you should rebuild trunk/main/desktop with debugging symbols *and*
>>> also add trunk/main/vcl. Note that soffice is simple a shell script, you
>>> should debug soffice.bin. A typical gdb session:
>>>
>>> ]$ gdb soffice.bin
>>> Reading symbols from
>>> /home/ariel/OOo/AOOo/**openoffice.org3/program/**soffice.bin...done.
>>>
>>> (gdb) break desktop::Desktop::Main
>>> Function "desktop::Desktop::Main" not defined.
>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>> Breakpoint 1 (desktop::Desktop::Main) pending.
>>>
>>> (gdb) start
>>>
>>> Temporary breakpoint 2 at 0x4011c3: file main.c, line 30.
>>> Temporary breakpoint 2, main (argc=1, argv=0x7fffffffddb8) at main.c:30
>>> 30 SAL_IMPLEMENT_MAIN() {
>>>
>>> (gdb) c
>>> Continuing.
>>>
>>> Breakpoint 1, desktop::Desktop::Main (this=0x7fffffffdc00) at
>>> /mnt/build/openoffice/apache/**trunk/main/desktop/source/app/**
>>> app.cxx:1772
>>> 1772 pExecGlobals = new ExecuteGlobals();
>>>
>>> (gdb) bt
>>> #0 desktop::Desktop::Main (this=0x7fffffffdc00) at
>>> /mnt/build/openoffice/apache/**trunk/main/desktop/source/app/**
>>> app.cxx:1772
>>> #1 0x00007ffff40ed3ba in ImplSVMain () at
>>> /mnt/build/openoffice/apache/**trunk/main/vcl/source/app/**
>>> svmain.cxx:193
>>> #2 0x00007ffff40ed4ff in SVMain () at
>>> /mnt/build/openoffice/apache/**trunk/main/vcl/source/app/**
>>> svmain.cxx:230
>>> #3 0x00007ffff79837eb in soffice_main () at
>>> /mnt/build/openoffice/apache/**trunk/main/desktop/source/app/**
>>> sofficemain.cxx:45
>>> #4 0x00000000004011f4 in sal_main () at main.c:31
>>> #5 0x00000000004011d9 in main (argc=1, argv=0x7fffffffddb8) at main.c:30
>>>
>>>
>>>
>>> Debugging AOO can take to very deep levels, there is no other way to
>>> learn this other than debugging. Some guys have set up an OpenGrok
>>> instance at http://opengrok.adfinis-**sygroup.org/<http://opengrok.adfinis-sygroup.org/>you will find this tool
>>> rather useful.
>>>
>>> http://opengrok.adfinis-**sygroup.org/source/xref/aoo-**
>>> trunk/main/desktop/source/app/**app.cxx#1770<http://opengrok.adfinis-sygroup.org/source/xref/aoo-trunk/main/desktop/source/app/app.cxx#1770>
>>>
>>>
>>> I forgot to add that when building individual modules not ported to
>>> gbuild, you should run
>>>
>>> build
>>> deliver
>>>
>>>
>>> deliver will copy the files to the solver. You don't need to re-build,
>>> re-package the whole office. I simply copy the files from
>>> trunk/main/solver/340/*/lib|**bin to the office installation.
>>>
>>>
>>> Regards
>>> --
>>> Ariel Constenla-Haile
>>> La Plata, Argentina
>>>
>>>
>>
Re: debugging with gdb
Posted by Andre Fischer <af...@a-w-f.de>.
Hm,
There was small typo in one of the build command line. It should be
cd trunk/main/desktop
build debug=true dbglevel=3
^
The missing b does not lead to an error, the debug information is just
not added.
-Andre
On 08.05.2012 16:56, Ochirov Nikolay wrote:
> gdb is still writes to console - debugging symbols not found
> Can anyone give an example of configure script for configuration with
> debugging symbols
> 2012/5/8 Ariel Constenla-Haile<ar...@apache.org>
>
>> Hi Nikolay,
>>
>> On Tue, May 08, 2012 at 12:25:15AM +0400, Ochirov Nikolay wrote:
>>> Thank you, Ariel!
>>> I will try to deal with gbuild. This is somwthing new)
>>> In general, I want to debug feature Desktop::Main(). After correcting i
>>> have error in it.
>>
>> then you should rebuild trunk/main/desktop with debugging symbols *and*
>> also add trunk/main/vcl. Note that soffice is simple a shell script, you
>> should debug soffice.bin. A typical gdb session:
>>
>> ]$ gdb soffice.bin
>> Reading symbols from
>> /home/ariel/OOo/AOOo/openoffice.org3/program/soffice.bin...done.
>>
>> (gdb) break desktop::Desktop::Main
>> Function "desktop::Desktop::Main" not defined.
>> Make breakpoint pending on future shared library load? (y or [n]) y
>> Breakpoint 1 (desktop::Desktop::Main) pending.
>>
>> (gdb) start
>>
>> Temporary breakpoint 2 at 0x4011c3: file main.c, line 30.
>> Temporary breakpoint 2, main (argc=1, argv=0x7fffffffddb8) at main.c:30
>> 30 SAL_IMPLEMENT_MAIN() {
>>
>> (gdb) c
>> Continuing.
>>
>> Breakpoint 1, desktop::Desktop::Main (this=0x7fffffffdc00) at
>> /mnt/build/openoffice/apache/trunk/main/desktop/source/app/app.cxx:1772
>> 1772 pExecGlobals = new ExecuteGlobals();
>>
>> (gdb) bt
>> #0 desktop::Desktop::Main (this=0x7fffffffdc00) at
>> /mnt/build/openoffice/apache/trunk/main/desktop/source/app/app.cxx:1772
>> #1 0x00007ffff40ed3ba in ImplSVMain () at
>> /mnt/build/openoffice/apache/trunk/main/vcl/source/app/svmain.cxx:193
>> #2 0x00007ffff40ed4ff in SVMain () at
>> /mnt/build/openoffice/apache/trunk/main/vcl/source/app/svmain.cxx:230
>> #3 0x00007ffff79837eb in soffice_main () at
>> /mnt/build/openoffice/apache/trunk/main/desktop/source/app/sofficemain.cxx:45
>> #4 0x00000000004011f4 in sal_main () at main.c:31
>> #5 0x00000000004011d9 in main (argc=1, argv=0x7fffffffddb8) at main.c:30
>>
>>
>>
>> Debugging AOO can take to very deep levels, there is no other way to
>> learn this other than debugging. Some guys have set up an OpenGrok
>> instance at http://opengrok.adfinis-sygroup.org/ you will find this tool
>> rather useful.
>>
>> http://opengrok.adfinis-sygroup.org/source/xref/aoo-trunk/main/desktop/source/app/app.cxx#1770
>>
>>
>> I forgot to add that when building individual modules not ported to
>> gbuild, you should run
>>
>> build
>> deliver
>>
>>
>> deliver will copy the files to the solver. You don't need to re-build,
>> re-package the whole office. I simply copy the files from
>> trunk/main/solver/340/*/lib|bin to the office installation.
>>
>>
>> Regards
>> --
>> Ariel Constenla-Haile
>> La Plata, Argentina
>>
>
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
gdb is still writes to console - debugging symbols not found
Can anyone give an example of configure script for configuration with
debugging symbols
2012/5/8 Ariel Constenla-Haile <ar...@apache.org>
> Hi Nikolay,
>
> On Tue, May 08, 2012 at 12:25:15AM +0400, Ochirov Nikolay wrote:
> > Thank you, Ariel!
> > I will try to deal with gbuild. This is somwthing new)
> > In general, I want to debug feature Desktop::Main(). After correcting i
> > have error in it.
>
> then you should rebuild trunk/main/desktop with debugging symbols *and*
> also add trunk/main/vcl. Note that soffice is simple a shell script, you
> should debug soffice.bin. A typical gdb session:
>
> ]$ gdb soffice.bin
> Reading symbols from
> /home/ariel/OOo/AOOo/openoffice.org3/program/soffice.bin...done.
>
> (gdb) break desktop::Desktop::Main
> Function "desktop::Desktop::Main" not defined.
> Make breakpoint pending on future shared library load? (y or [n]) y
> Breakpoint 1 (desktop::Desktop::Main) pending.
>
> (gdb) start
>
> Temporary breakpoint 2 at 0x4011c3: file main.c, line 30.
> Temporary breakpoint 2, main (argc=1, argv=0x7fffffffddb8) at main.c:30
> 30 SAL_IMPLEMENT_MAIN() {
>
> (gdb) c
> Continuing.
>
> Breakpoint 1, desktop::Desktop::Main (this=0x7fffffffdc00) at
> /mnt/build/openoffice/apache/trunk/main/desktop/source/app/app.cxx:1772
> 1772 pExecGlobals = new ExecuteGlobals();
>
> (gdb) bt
> #0 desktop::Desktop::Main (this=0x7fffffffdc00) at
> /mnt/build/openoffice/apache/trunk/main/desktop/source/app/app.cxx:1772
> #1 0x00007ffff40ed3ba in ImplSVMain () at
> /mnt/build/openoffice/apache/trunk/main/vcl/source/app/svmain.cxx:193
> #2 0x00007ffff40ed4ff in SVMain () at
> /mnt/build/openoffice/apache/trunk/main/vcl/source/app/svmain.cxx:230
> #3 0x00007ffff79837eb in soffice_main () at
> /mnt/build/openoffice/apache/trunk/main/desktop/source/app/sofficemain.cxx:45
> #4 0x00000000004011f4 in sal_main () at main.c:31
> #5 0x00000000004011d9 in main (argc=1, argv=0x7fffffffddb8) at main.c:30
>
>
>
> Debugging AOO can take to very deep levels, there is no other way to
> learn this other than debugging. Some guys have set up an OpenGrok
> instance at http://opengrok.adfinis-sygroup.org/ you will find this tool
> rather useful.
>
> http://opengrok.adfinis-sygroup.org/source/xref/aoo-trunk/main/desktop/source/app/app.cxx#1770
>
>
> I forgot to add that when building individual modules not ported to
> gbuild, you should run
>
> build
> deliver
>
>
> deliver will copy the files to the solver. You don't need to re-build,
> re-package the whole office. I simply copy the files from
> trunk/main/solver/340/*/lib|bin to the office installation.
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Nikolay,
On Tue, May 08, 2012 at 12:25:15AM +0400, Ochirov Nikolay wrote:
> Thank you, Ariel!
> I will try to deal with gbuild. This is somwthing new)
> In general, I want to debug feature Desktop::Main(). After correcting i
> have error in it.
then you should rebuild trunk/main/desktop with debugging symbols *and*
also add trunk/main/vcl. Note that soffice is simple a shell script, you
should debug soffice.bin. A typical gdb session:
]$ gdb soffice.bin
Reading symbols from /home/ariel/OOo/AOOo/openoffice.org3/program/soffice.bin...done.
(gdb) break desktop::Desktop::Main
Function "desktop::Desktop::Main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (desktop::Desktop::Main) pending.
(gdb) start
Temporary breakpoint 2 at 0x4011c3: file main.c, line 30.
Temporary breakpoint 2, main (argc=1, argv=0x7fffffffddb8) at main.c:30
30 SAL_IMPLEMENT_MAIN() {
(gdb) c
Continuing.
Breakpoint 1, desktop::Desktop::Main (this=0x7fffffffdc00) at /mnt/build/openoffice/apache/trunk/main/desktop/source/app/app.cxx:1772
1772 pExecGlobals = new ExecuteGlobals();
(gdb) bt
#0 desktop::Desktop::Main (this=0x7fffffffdc00) at /mnt/build/openoffice/apache/trunk/main/desktop/source/app/app.cxx:1772
#1 0x00007ffff40ed3ba in ImplSVMain () at /mnt/build/openoffice/apache/trunk/main/vcl/source/app/svmain.cxx:193
#2 0x00007ffff40ed4ff in SVMain () at /mnt/build/openoffice/apache/trunk/main/vcl/source/app/svmain.cxx:230
#3 0x00007ffff79837eb in soffice_main () at /mnt/build/openoffice/apache/trunk/main/desktop/source/app/sofficemain.cxx:45
#4 0x00000000004011f4 in sal_main () at main.c:31
#5 0x00000000004011d9 in main (argc=1, argv=0x7fffffffddb8) at main.c:30
Debugging AOO can take to very deep levels, there is no other way to
learn this other than debugging. Some guys have set up an OpenGrok
instance at http://opengrok.adfinis-sygroup.org/ you will find this tool
rather useful.
http://opengrok.adfinis-sygroup.org/source/xref/aoo-trunk/main/desktop/source/app/app.cxx#1770
I forgot to add that when building individual modules not ported to
gbuild, you should run
build
deliver
deliver will copy the files to the solver. You don't need to re-build,
re-package the whole office. I simply copy the files from
trunk/main/solver/340/*/lib|bin to the office installation.
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Thank you, Ariel!
I will try to deal with gbuild. This is somwthing new)
In general, I want to debug feature Desktop::Main(). After correcting i
have error in it.
Regards,
Nikolay
2012/5/7 Ariel Constenla-Haile <ar...@apache.org>
> Hi Nikolay,
>
> On Mon, May 07, 2012 at 11:16:55PM +0400, Ochirov Nikolay wrote:
> > Thank you, Ariel!
> > One more question - what is gbuild?
>
> AOO build environment is a mix of a Perl script (build.pl) + Dmake and
> the newly introduced "Gbuild", a build system based only on GNU Make.
>
> Some modules have been ported to the new build environment, you can
> find it out by looking at the module folder, for example:
>
> vcl, sfx2, sw:
> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/
> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/
> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sw/
>
> they all have
>
> * a main general Makefile
> * a Module_$MODULENAME.mk
> * a Library_$LIBRARYNAME.mk per library
> * etc.
>
>
> Modules not ported to gbuild do not have those makefiles, see sd, sc,
> avmedia for example
> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sc/
> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/
> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/avmedia/
>
>
> You build the whole office in trunk/main/instsetoo_native/ with
>
> cd main/instsetoo_native/
> build --html --all -P8 -- -P4 (an example, only)
>
>
> You build individual modules not ported to gbuild with the build.plscript:
>
> cd trunk/main/sc/
> build deug=true dbglevel=3
>
> You build individual modules ported to gbuild with make:
>
> cd trunk/main/vcl/
> make -sr DEBUG=yes
>
>
> Of course, you have to know which modules to build with debugging
> symbols. If you can't figure it out, just tell us what you are
> interested in debugging and we'll give you a hint.
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Nikolay,
On Mon, May 07, 2012 at 11:16:55PM +0400, Ochirov Nikolay wrote:
> Thank you, Ariel!
> One more question - what is gbuild?
AOO build environment is a mix of a Perl script (build.pl) + Dmake and
the newly introduced "Gbuild", a build system based only on GNU Make.
Some modules have been ported to the new build environment, you can
find it out by looking at the module folder, for example:
vcl, sfx2, sw:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sw/
they all have
* a main general Makefile
* a Module_$MODULENAME.mk
* a Library_$LIBRARYNAME.mk per library
* etc.
Modules not ported to gbuild do not have those makefiles, see sd, sc,
avmedia for example
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sc/
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/avmedia/
You build the whole office in trunk/main/instsetoo_native/ with
cd main/instsetoo_native/
build --html --all -P8 -- -P4 (an example, only)
You build individual modules not ported to gbuild with the build.pl script:
cd trunk/main/sc/
build deug=true dbglevel=3
You build individual modules ported to gbuild with make:
cd trunk/main/vcl/
make -sr DEBUG=yes
Of course, you have to know which modules to build with debugging
symbols. If you can't figure it out, just tell us what you are
interested in debugging and we'll give you a hint.
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
Re: debugging with gdb
Posted by Ochirov Nikolay <oc...@gmail.com>.
Thank you, Ariel!
One more question - what is gbuild?
2012/5/7 Ariel Constenla-Haile <ar...@apache.org>
> Hello Nikolay,
>
> On Mon, May 07, 2012 at 10:49:55PM +0400, Ochirov Nikolay wrote:
> > How to add debugging symbols of AOO in gdb?
> > I'm trying to debug the AOO but can't figure out how to add debug
> > information into gdb. I add --enable-symbols in configure, and add the
> > path to the source into gdb(maybe it's not right?).
> > But when debugging gdb writes to the console - no debugging symbols
> > found. What's wrong?
>
> Symbols are usually stripped, you should also add --disable-strip-solver
>
> It's better to re-build some modules with special switches.
>
> If the module is converted to gbuild:
> make -sr clean
> make -sr DEBUG=yes
>
> In the older modules, clean the source tree and:
> build debug=true dbglevel=3
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>
Re: debugging with gdb
Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hello Nikolay,
On Mon, May 07, 2012 at 10:49:55PM +0400, Ochirov Nikolay wrote:
> How to add debugging symbols of AOO in gdb?
> I'm trying to debug the AOO but can't figure out how to add debug
> information into gdb. I add --enable-symbols in configure, and add the
> path to the source into gdb(maybe it's not right?).
> But when debugging gdb writes to the console - no debugging symbols
> found. What's wrong?
Symbols are usually stripped, you should also add --disable-strip-solver
It's better to re-build some modules with special switches.
If the module is converted to gbuild:
make -sr clean
make -sr DEBUG=yes
In the older modules, clean the source tree and:
build debug=true dbglevel=3
Regards
--
Ariel Constenla-Haile
La Plata, Argentina