vain0x / knowbug

HSP3 debug window
Other
16 stars 6 forks source link

[@] を選択するとエラーが起こる #25

Closed vain0x closed 6 years ago

vain0x commented 6 years ago

@ を選択するとエラーが起こる。(起こらない可能性もある?)

出典:knowbugのエラーについて

TODO

vain0x commented 6 years ago

調査結果

再現

原因

対策

その他

vain0x commented 6 years ago

スタックトレース

    hsp3debug.dll!std::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ><void const * &,char const * &,void,0>(const void * & _Val1, const char * & _Val2) 行 171   C++
    hsp3debug.dll!std::_List_buy<std::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >::_Buynode<void const * &,char const * &>(std::_List_node<std::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,void *> * _Next, std::_List_node<std::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,void *> * _Prev, const void * & <_Val_0>, const char * & <_Val_1>) 行 843  C++
    hsp3debug.dll!std::_Hash<std::_Umap_traits<void const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::_Uhash_compare<void const *,std::hash<void const *>,std::equal_to<void const *> >,std::allocator<std::pair<void const * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::emplace<void const * &,char const * &>(const void * & <_Val_0>, const char * & <_Val_1>) 行 254   C++
>   hsp3debug.dll!CVardataStrWriter::tryPrune(const char * name, const void * ptr) 行 42 C++
    hsp3debug.dll!CVardataStrWriter::addValueStruct(const char * name, const FlexValue * fv) 行 197  C++
    hsp3debug.dll!hpiutil::dispatchValue<void,void <ラムダ>(const unsigned short *),<lambda_880af1d189049269afb1b107a4462f6c>,void <ラムダ>(double),void <ラムダ>(int),<lambda_c5ce9448d8a6f4a3a09bdf416f4058da>,void <ラムダ>(const PDAT *, unsigned short) >(const PDAT * pdat, unsigned short vtype, CVardataStrWriter::addValue::__l2::void <ラムダ>(const unsigned short *) && fLabel, CVardataStrWriter::addValue::__l2::<lambda_880af1d189049269afb1b107a4462f6c> && fStr, CVardataStrWriter::addValue::__l2::void <ラムダ>(double) && fDouble, CVardataStrWriter::addValue::__l2::void <ラムダ>(int) && fInt, CVardataStrWriter::addValue::__l2::<lambda_c5ce9448d8a6f4a3a09bdf416f4058da> && fStruct, CVardataStrWriter::addValue::__l2::void <ラムダ>(const PDAT *, unsigned short) && fDef) 行 241    C++
    hsp3debug.dll!CVardataStrWriter::addValue(const char * name, unsigned short type, const PDAT * ptr) 行 153   C++
    hsp3debug.dll!CVardataStrWriter::addVarArrayRec(const PVal * pval, const std::array<unsigned int,5> & cntElems, unsigned int idxDim, int aptr_offset) 行 121 C++
    hsp3debug.dll!CVardataStrWriter::addVarArray(const char * name, const PVal * pval) 行 115    C++
    hsp3debug.dll!CVardataStrWriter::addVar(const char * name, const PVal * pval) 行 58  C++
    hsp3debug.dll!CVardataStrWriter::addParameter(const char * name, const STRUCTDAT * stdat, const STRUCTPRM * stprm, const void * member, bool isSafe) 行 281  C++
    hsp3debug.dll!CVardataStrWriter::addPrmstack(const STRUCTDAT * stdat, std::pair<void const *,bool> prmstk) 行 239    C++
    hsp3debug.dll!CVardataStrWriter::addValueStruct(const char * name, const FlexValue * fv) 行 213  C++
    hsp3debug.dll!hpiutil::dispatchValue<void,void <ラムダ>(const unsigned short *),<lambda_880af1d189049269afb1b107a4462f6c>,void <ラムダ>(double),void <ラムダ>(int),<lambda_c5ce9448d8a6f4a3a09bdf416f4058da>,void <ラムダ>(const PDAT *, unsigned short) >(const PDAT * pdat, unsigned short vtype, CVardataStrWriter::addValue::__l2::void <ラムダ>(const unsigned short *) && fLabel, CVardataStrWriter::addValue::__l2::<lambda_880af1d189049269afb1b107a4462f6c> && fStr, CVardataStrWriter::addValue::__l2::void <ラムダ>(double) && fDouble, CVardataStrWriter::addValue::__l2::void <ラムダ>(int) && fInt, CVardataStrWriter::addValue::__l2::<lambda_c5ce9448d8a6f4a3a09bdf416f4058da> && fStruct, CVardataStrWriter::addValue::__l2::void <ラムダ>(const PDAT *, unsigned short) && fDef) 行 241    C++
    hsp3debug.dll!CVardataStrWriter::addValue(const char * name, unsigned short type, const PDAT * ptr) 行 153   C++
    hsp3debug.dll!CVardataStrWriter::addVar(const char * name, const PVal * pval) 行 60  C++
    hsp3debug.dll!CVarinfoText::addModuleOverview::__l2::<ラムダ>(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & varname) 行 161  C++
    hsp3debug.dll!VTNodeModule::foreach(const VTNodeModule::Visitor & visitor) 行 122    C++
    hsp3debug.dll!VTNodeModule::foreach<<lambda_4ec71207e2cfbe0aa335d507f0666d6f>,void <ラムダ>(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) >(CVarinfoText::addModuleOverview::__l2::<lambda_4ec71207e2cfbe0aa335d507f0666d6f> && fModule, CVarinfoText::addModuleOverview::__l2::void <ラムダ>(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) && fVar) 行 167    C++
    hsp3debug.dll!CVarinfoText::addModuleOverview(const char * name, const VTNodeModule & tree) 行 166   C++
    hsp3debug.dll!`VTView::getItemVarText'::`2'::GetText::fModule(const VTNodeModule & node) 行 242  C++
    hsp3debug.dll!`VTView::getItemVarText'::`2'::GetText::apply(const VTNodeData & node) 行 289  C++
    hsp3debug.dll!VTView::getItemVarText::__l2::<ラムダ>() 行 298   C++
    hsp3debug.dll!VTView::getItemVarText(_TREEITEM * hItem) 行 305   C++
    hsp3debug.dll!VTView::updateViewWindow() 行 344  C++
    hsp3debug.dll!Dialog::DlgProc(HWND__ * hDlg, unsigned int msg, unsigned int wp, long lp) 行 339  C++
    user32.dll!7699e0bb()   不明
    [下のフレームは間違っているか、または見つかりません。user32.dll に対して読み込まれたシンボルはありません。]    
    user32.dll!769a8849()   不明
    user32.dll!769aacd3()   不明
    user32.dll!7698bf65()   不明
    user32.dll!7698be15()   不明
    user32.dll!7699e0bb()   不明
    user32.dll!769a8849()   不明
    user32.dll!769ab145()   不明
    user32.dll!769aa89c()   不明
    user32.dll!7698b95b()   不明
    comctl32.dll!73b08df7() 不明
    comctl32.dll!73abe070() 不明
    comctl32.dll!73abdf50() 不明
    comctl32.dll!73ad654d() 不明
    comctl32.dll!73ac593e() 不明
    user32.dll!7699e0bb()   不明
    user32.dll!769a8849()   不明
    user32.dll!769ab145()   不明
    user32.dll!769dfb88()   不明
    user32.dll!769990dc()   不明
    user32.dll!769938c0()   不明
    hsp3.exe!00415dc2() 不明
    hsp3.exe!00406e68() 不明
    hsp3.exe!00415c8c() 不明
    win32u.dll!75a12a5c()   不明
    gdi32full.dll!7675a2eb()    不明
    uxtheme.dll!73a48ad2()  不明
    hsp3.exe!00422749() 不明
    hsp3.exe!00423281() 不明
    hsp3.exe!0042310e() 不明
    kernel32.dll!76f18654() 不明
    ntdll.dll!77754a77()    不明
    ntdll.dll!77754a47()    不明

デバッグ出力:

[@]
@mctree
leaf    = mctree&{"leaf#1", 6, (nullmod)}
node    = mctree&{"node#1", 4, <struct>[(ptr=0x44453a8 name=(nil)), mctree{"leaf#0", 5, (nullmod)}, (ptr=0x44453b8 name=(nil)), mctree{"leaf#1", 6, (nullmod)}]}
root    = mctree&{"root", 0, <struct>[(ptr=0x44459d8 name=(nil)), mctree{"node#0", 1, <struct>[(ptr=0x44457c8 name=(nil)), mctree{"leaf#0", 2, (nullmod)}, (ptr=0x44457d8 name=(nil)), mctree{"leaf#1", 3, (nullmod)}]}, (ptr=0x44459e8 name=(nil)), mctree{"node#1", 4, <struct>[(ptr=0x44453a8 name=(nil)), mctree{"leaf#0", 5, (nullmod)}, (ptr=0x44453b8 name=(nil)), mctree{"leaf#1", 6, (nullmod)}]}]}
tree    = mctree{"root", 0, <struct>[(ptr=0x44459d8 name=(nil)), mctree{"node#0", 1, <struct>[(ptr=0x44457c8 name=(nil)), mctree{"leaf#0", 2, (nullmod)}, (ptr=0x44457d8 name=(nil)), mctree{"leaf#1", 3, (nullmod)}]}, (ptr=0x44459e8 name=(nil)), mctree{"node#1", 4, <struct>[(ptr=0x44453a8 name=(nil)), mctree{"leaf#0", 5, (nullmod)}, (ptr=0x44453b8 name=(nil)), mctree{"leaf#1", 6, (nullmod)}]}]}
vain0x commented 6 years ago

1.22.2 修正済