お世話になっております。
WinDbgの起動も確認出来ました。
soffice_main.cxxに0除算のコードを埋め込んで実行した所、WinDbgが起動し、
問題箇所の特定も出来るようになりました。
茂木さんありがとう御座いました!
0:000:x86> !analyze -v
*******************************************************************************
*
*
* Exception Analysis
*
*
*
*******************************************************************************
FAULTING_IP:
sofficeapp!soffice_main+6e
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\sofficemain.cxx
@ 55]
67fa5aae f7f9 idiv eax,ecx
EXCEPTION_RECORD: 0000000067fa5aae -- (.exr 0x67fa5aae)
ExceptionAddress: 0000000067fd110c (sofficeapp!_imp_?coutstd)
ExceptionCode: 4589f9f7
ExceptionFlags: a6d868e4
NumberParameters: -774051758
Parameter[0]: 00000000c483fffb
Parameter[1]: 0000000003336808
Parameter[2]: 000000000b6a0000
Parameter[3]: 0000000001b8076a
Parameter[4]: 000000006b000000
Parameter[5]: 00000000f00500c0
Parameter[6]: 000000005067fda6
Parameter[7]: 00000000e8d84d8d
Parameter[8]: 00000000fffc1e0a
Parameter[9]: 000000008be04589
Parameter[10]: 000000004d89e04d
Parameter[11]: 00000000fc45c6dc
Parameter[12]: 00000000dc558b01
Parameter[13]: 00000000f04d8d52
Parameter[14]: 00000000164415ff
FAULTING_THREAD: 0000000000001394
DEFAULT_BUCKET_ID: ZEROED_STACK
PROCESS_NAME: soffice.bin
ERROR_CODE: (NTSTATUS) 0xc0000094 - {
EXCEPTION_CODE: (NTSTATUS) 0xc0000094 - {
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
LAST_CONTROL_TRANSFER: from 0000000076f5014d to 0000000076f615de
PRIMARY_PROBLEM_CLASS: ZEROED_STACK
BUGCHECK_STR: APPLICATION_FAULT_ZEROED_STACK
STACK_TEXT:
00d5f8ec 76f5014d 00d5f900 00d5f950 00000000
ntdll_76f40000!ZwRaiseException+0x12
00d5f8fc c0000094 00000000 00000000 67fa5aae
ntdll_76f40000!KiUserExceptionDispatcher+0x29
WARNING: Frame IP not in any known module. Following frames may be wrong.
00d5fe18 0135100a a81c5741 00d5fe30 0135103a 0xc0000094
00d5fe24 0135103a 00e73198 00d5fe48 01351078 soffice!sal_main+0xa
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\main.c @ 48]
00d5fe30 01351078 00000002 00e73198 00000002 soffice!main+0x1a
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\main.c @ 47]
00d5fe48 013512ca 01350000 00000000 00e44abc soffice!WinMain+0x28
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\main.c @ 47]
00d5fe94 764233aa 7efde000 00d5fee0 76f79ef2
soffice!__tmainCRTStartup+0x121
[f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 528]
00d5fea0 76f79ef2 7efde000 60d0c2f5 00000000
KERNEL32!BaseThreadInitThunk+0xe
00d5fee0 76f79ec5 0135119f 7efde000 00000000
ntdll_76f40000!__RtlUserThreadStart+0x70
00d5fef8 00000000 0135119f 7efde000 00000000
ntdll_76f40000!_RtlUserThreadStart+0x1b
FOLLOWUP_IP:
sofficeapp!soffice_main+6e
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\sofficemain.cxx
@ 55]
67fa5aae f7f9 idiv eax,ecx
FAULTING_SOURCE_CODE:
51: // free.toolcreator add start
52: int a = 1;
53: int b = -1;
54: int c = 0;
> 55: c = 3/(a+b);
56: std::cout << "soffice_main() start\n";
57:
58: // free.toolcreator add end
59: // This string is used during initialization of the Gtk+ VCL
module
60: aDesktop.SetAppName(
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("soffice")) );
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: sofficeapp!soffice_main+6e
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: sofficeapp
IMAGE_NAME: sofficeapp.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 519dcdc2
STACK_COMMAND: ~0s ; kb
FAILURE_BUCKET_ID: ZEROED_STACK_c0000094_sofficeapp.dll!soffice_main
BUCKET_ID: X64_APPLICATION_FAULT_ZEROED_STACK_sofficeapp!soffice_main+6e
WATSON_IBUCKET: -691253012
WATSON_IBUCKETTABLE: 1
WATSON_STAGEONE_URL:
http://watson.microsoft.com/StageOne/soffice_bin/4_0_3_3/519dcdda/sofficeapp_dll/4_0_3_3/519dcdc2/c0000094/00045aae.htm?Retriage=1
Followup: MachineOwner
---------
以上です。
2013年5月23日 7:59 Isamu Mogi <[email protected]>:
> 山田さん
>
> おお、上手くいったのですね!良かったです。よさげな新機能やパッチ書けたら
> ぜひレビューに投げてください〜。
>
> (2013/05/22 0:54), 山田太郎 wrote:
> > 茂木さん、お世話になっております。
> >
> > 詳細な解説ありがとう御座いました。
> >
> > gdbはPDBに対応していなかったんですね。
> >
> > Visual Studio 2012 Express for Desktopでブレークポイントの設定まで確認出
> > 来ました。
> >
> > ※make時にENABLE_SYMBOLS=trueを忘れていたためフルリビルド後に検証したため
> > 返信が遅れて大変申し訳ございません。
> >
> > WinDBGに関してはこれより確認致します。
> >
> > 以上です。
> >
> >
> > 2013年5月20日 19:37 Isamu Mogi <[email protected]
> > <mailto:[email protected]>>:
> >
> > 山田さん
> >
> > こんにちは。茂木と申します。
> >
> > gdbはWindows上でのデバッグビルドで生成されるデバッグ情報に対応していない
> > ため、VisualC++やWinDbgを使ってデバッグする必要があります。VC2012の
> > Expressの場合、下記ででできます。
> >
> > 1. デバッグビルドされたlibreofficeを起動する
> > 2. ツールバーの「アタッチ」ボタンかメニューの「デバッグ→プロセスにア
> > タッチ」
> > 3. soffice.binを一覧から探して選ぶ
> > 4. ツールバーの一時停止ボタンかメニューの「デバッグ→すべて中断」
> > 5. ソースコードをIDE内に開けばブレークポイント置いたりとかできるよう
> > になる
> >
> > 起動した瞬間に落ちるなどの理由でアタッチできない場合、Express版だと対応
> > できなかったと思うので、WinDbgを使うと良いです。下記に情報があります
> >
> https://wiki.documentfoundation.org/How_to_get_a_backtrace_with_WinDbg
> >
> > 本当に起動した瞬間に落ちる場合下記のように、windbg -I をしておくと落ちた
> > 瞬間にwindbgが起動して原因のソースの箇所とかがわかって便利です。
> >
> http://stackoverflow.com/questions/5638251/setup-windbg-as-default-debugger
> >
> > (2013/05/20 4:19), 山田太郎 wrote:
> > > 初めて投稿させて頂きます。
> > >
> > > 以下の環境で日本語版LibreOffice4.0.3.3をデバッグビルドしたのです
> > が、デバッグシンボルが生成されていない様です。
> > > どなたか解決方法をご存知の方いらっしゃいますでしょうか?
> > >
> > > ■参考にした手順
> > > https://wiki.documentfoundation.org/Development/How_to_debug
> > >
> > > ■ソースファイル
> > > http://ja.libreoffice.org/download/?type=src&version=4.0.3からダ
> > ウンロードした
> > > バージョン4.0.3.3ソースファイル
> > >
> > > ■ビルド環境
> > > OS:Windows7(64bit)
> > > Cygwin:1.7.18(0.263/5/3)
> > > コンパイラ:Visual Studio 2012 Express for Desktop
> > > make:LOパッチが当てられたGNU make 3.82
> > > http://dev-www.libreoffice.org/bin/cygwin/make
> > >
> > > ■autogen.shに渡したパラメータ
> > > $ ./autogen.sh --disable-activex --disable-atl
> > > --with-nss-build-tools='/cygdrive/c/mozilla-build'
> > > --with-ant-home='D:\apache-ant-1.9.0' --without-junit
> > > --with-cl-home='C:\PROGRA~2\MICROS~2.0\VC' --without-help
> > > --without-myspell-dicts --enable-debug --with-lang="en-US ja"
> > >
> > > ■gdb起動結果
> > > LOROOT=`pwd`
> > > $ /opt/lo/bin/make debugrun
> > > /opt/lo/bin/make -r -f
> > /home/test/libreoffice-4.0.3.3/Makefile.top debugrun
> > > make[1]: Entering directory `/home/test/libreoffice-4.0.3.3'
> > > /opt/lo/bin/make -j 4 -rs -f Makefile.post debugrun
> > > make[1]: Leaving directory `/home/test/libreoffice-4.0.3.3'
> > >
> > > $ cd $LOROOT/solver/wntmsci14.pro/installation/opt/program
> > <http://wntmsci14.pro/installation/opt/program>
> > >
> > > $ gdb ./soffice.bin
> > > GNU gdb (GDB) 7.6.50.20130508-cvs (cygwin-special)
> > > Copyright (C) 2013 Free Software Foundation, Inc.
> > > License GPLv3+: GNU GPL version 3 or later
> > <http://gnu.org/licenses/gpl.html
> > >>
> > > This is free software: you are free to change and redistribute it.
> > > There is NO WARRANTY, to the extent permitted by law. Type "show
> > copying"
> > > and "show warranty" for details.
> > > This GDB was configured as "i686-cygwin".
> > > Type "show configuration" for configuration details.
> > > For bug reporting instructions, please see:
> > > <http://www.gnu.org/software/gdb/bugs/>...
> > > Reading symbols from /home/test/libreoffice-4.0.3.3/solver/
> > > wntmsci14.pro/installation/opt/program/soffice.bin...(no
> > <http://wntmsci14.pro/installation/opt/program/soffice.bin...(no>
> > debugging symbols
> > > found)...done.
> > > (gdb) q
> > >
> > > 以上、宜しくお願い致します。
> > >
> >
> >
> > --
> > Unsubscribe instructions: E-mail to
> > [email protected]
> > <mailto:discuss%[email protected]>
> > Posting guidelines + more:
> http://wiki.documentfoundation.org/Netiquette
> > List archive: http://listarchives.libreoffice.org/ja/discuss/
> > All messages sent to this list will be publicly archived and cannot
> > be deleted
> >
> >
>
>
--
Unsubscribe instructions: E-mail to [email protected]
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted