2012-05-10 9 views
4

gtkdラッパージェネレータで再生していて、シンボリックデバッグ情報を取得できないstd.conv例外が発生しています。d2:バックトレース情報を取得していない

$ dmd -gc -debug utils/HTODConvert.d utils/WrapperIF.d utils/funct.d utils/DefReader.d utils/GtkWrapper.d utils/HtmlStrip.d utils/IndentedStringBuilder.d utils/convparms.d utils/GtkDClass.d -ofgtkwrap 

が、バックトレースは、メモリアドレスのリストだけである:Iは、デバッグシンボルでコンパイルした

[email protected]/usr/include/d/std/conv.d(1779): Unexpected ' ' when converting from type string to type int 
---------------- 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x805c4ab] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x805c57a] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x806d49e] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x806924e] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8068c4a] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8066aed] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8066824] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x806388f] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x806367c] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x805e988] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x805e910] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x805e793] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x805d6f5] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8060176] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8071140] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8070c50] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8071182] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8070c50] 
/home/martin/code/d/GtkD/wrap/gtkwrap() [0x8070c04] 
/lib/libc.so.6(__libc_start_main+0xf5) [0xb7dce3d5] 

これは、32ビットのLinuxである

$ uname -a 
Linux mercury 3.3.2-1-ARCH #1 SMP PREEMPT Sat Apr 14 10:08:43 UTC 2012 i686 Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz GenuineIntel GNU/Linux 

$ dmd -v 
DMD32 D Compiler v2.059 

答えて

8

DFLAGSのdmd.confに-L--export-dynamicが含まれていることを確認してください。私はdmdで提供されているバージョンはそれを持っていると信じていますが、それがなければ関数名は得られませんので、dmd.confにはない可能性があります。

+0

ありがとうございました! –

1

あなたのプログラムを起動しますGDBで適切なスタックトレースを取得すると、残念ながら私は他の方法が分かりません(-gと-gcを使ってコンパイルする必要があります)。

関連する問題