Pio*_*cki 5 c++ logging access-violation log4cplus visual-studio-2012
我正在使用log4cplus库,我无法登录工作.
我用这个代码:
PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("log.properties"));
Logger g_logger = Logger::getInstance(LOG4CPLUS_TEXT("mylogger"));
LOG4CPLUS_WARN(g_logger, LOG4CPLUS_TEXT("test test test"));
Run Code Online (Sandbox Code Playgroud)
它打破LOG4CPLUS_WARN
了错误:
Access violation reading location
这是我的调用堆栈:
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
Run Code Online (Sandbox Code Playgroud)
在wWinMain ... line 55
哪里LOG4CPLUS_WARN
是被叫的地方.
我已经检查了这个有什么问题,basic_ostringstream
似乎有些东西搞乱了编码或其他东西:
在我的字符串末尾没有终止字符串(不可读的内存)和一大堆奇怪的字母?可能导致什么呢?
你的问题解决了吗?我有同样的错误,并且我注意到,当应用程序是在调试中构建时,我与 log4cplusU.dll 的发行版本链接,因此与 log4cplusUD.dll 链接进行调试配置解决了我的问题