私はlog4cplusライブラリを使用していますが、動作するようにログを取得できません。アクセス違反の読み取り場所 - 終了していない文字列(読み取り不可能なメモリ)
私はこのコードを使用:
PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("log.properties"));
Logger g_logger = Logger::getInstance(LOG4CPLUS_TEXT("mylogger"));
LOG4CPLUS_WARN(g_logger, LOG4CPLUS_TEXT("test test test"));
をそして、それはエラーでLOG4CPLUS_WARN
で破る: Access violation reading location
これは私のコールスタックです:
wWinMain ... line 55
が
LOG4CPLUS_WARN
場所です
msvcp110d.dll!std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >::egptr() Line 236 C++
ProjectClientd.exe!std::basic_stringbuf<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::str() Line 103 C++
ProjectClientd.exe!std::basic_ostringstream<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::str() Line 553 C++
> ProjectClientd.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Line 55 C++
ProjectClientd.exe!__tmainCRTStartup() Line 528 C
ProjectClientd.exe!wWinMainCRTStartup() Line 377 C
が呼び出されています。
私はこのbasic_ostringstream
と間違って何チェックして、何かは、エンコーディングまたは何かを台無しにされているようです
:
非終わる文字列(判読できないメモリ)との終わりに奇妙な手紙の全体の束私の弦?何が原因でしょうか?
私はlog4cplusしかしそれは幅広いchar/narrow charの混乱のようです。スタックトレースは 'basic_stringbuf
john
@johnを試してみてください。展開された '_Stringbuffer'ビューを見ると、それはワイド文字列です(' L "テストテストテスト... ")。 – IInspectable
@john残念ながら、私は '_T'で試してみました。 –