Używam biblioteki log4cplus i nie mogę uruchomić logowania.Lokalizacja odczytu naruszenia zasad dostępu - ciąg bez końca (nieczytelna pamięć)
używam tego kodu:
PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("log.properties"));
Logger g_logger = Logger::getInstance(LOG4CPLUS_TEXT("mylogger"));
LOG4CPLUS_WARN(g_logger, LOG4CPLUS_TEXT("test test test"));
I to łamie w LOG4CPLUS_WARN
z błędem: Access violation reading location
To jest mój stos wywołań:
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
gdzie wWinMain ... line 55
jest miejscem, gdzie LOG4CPLUS_WARN
jest wywoływany.
Sprawdziłem co jest nie tak z tym basic_ostringstream
i wydaje się, że coś jest pomieszane z kodowaniem lub coś:
zakaz zakończony sznurkiem (pamięć nieczytelny) i całą masę dziwnych liter na końcu mój ciąg? Co może spowodować?
Nie wiem log4cplus ale wydaje się, że jest to szerokie zamieszanie. Zauważ, że twój ślad stosu mówi 'basic_stringbuf
john
@john Spójrz na rozszerzony widok' _Stringbuffer', jest to szeroki ciąg znaków w porządku (test testowy "L" ... "'). – IInspectable
@john Próbowałem już z '_T', ten sam wynik niestety. –