У меня есть сервис Windows, которая написана в C ++. Недавно я узнал о инструменте Verifier приложения Microsoft, который можно использовать для улова не так очевидных утечек памяти и других таких проблем. После кучу отладки я понял, что это специфически структура регистрации, которая вызывает сбои. Я также сделал один с Boost, просто чтобы сравнить. < /P>
poco: < /p>
#include
#include
#include
#include
#include
int main(int argc, char* argv[])
{
using namespace Poco;
// Create a formatter that shows timestamp, priority and message
AutoPtr formatter = new PatternFormatter;
formatter->setProperty("pattern", "%Y-%m-%d %H:%M:%S [%p] %t");
// Wrap the console channel in a formatting channel
AutoPtr formattingChannel = new FormattingChannel(formatter, new ConsoleChannel);
formattingChannel->open();
// Create and configure the logger
Logger& logger = Logger::get("MainLogger");
logger.setChannel(formattingChannel);
logger.setLevel(Message::PRIO_INFORMATION);
for (;;)
{
// Log some messages
logger.information("This is an informational message.");
logger.warning("This is a warning message.");
logger.error("This is an error message.");
Sleep(1000);
}
return 0;
}
< /code>
boost: < /p>
#include
#include
int main(int argc, char* argv[])
{
for (;;)
{
BOOST_LOG_TRIVIAL(info)
Я обнаружил, что ни один из них не будет успешно работать со всеми приложениями проверки проверки. Для примера POCO мне нужно только отключить моделирование с низким ресурсом, но для примера повышения я должен отключить как моделирование с низким ресурсом, так и сеть, прежде чем он будет выполнять надежно. < /P>
Я не уверен, что это значит. Должен ли я избегать фреймворков регистрации, чтобы сохранить свою услугу надежным, или этого следует ожидать?
Подробнее здесь: https://stackoverflow.com/questions/795 ... ppverifier