5

我正在使用 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

这是我的调用堆栈:

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

where是被调用wWinMain ... line 55的地方。LOG4CPLUS_WARN

我检查了这有什么问题,basic_ostringstream似乎有些东西与编码或其他东西混淆了: 在此处输入图像描述

未终止的字符串(不可读的内存)和字符串末尾的一大堆奇怪字母?什么可能导致它?

4

1 回答 1

1

你的问题解决了吗?我有同样的错误,我注意到,我在调试中构建应用程序时链接了 log4cplusU.dll 的发布版本,因此与 log4cplusUD.dll 链接进行调试配置解决了我的问题

于 2013-09-26T07:45:50.660 回答