在调试器下运行增强单位测试



我使用vs2010。

我需要运行由BOOST_AUTO_TEST_SUITE组成的.exe,以测试我的库在调试器下测试我的库,因为我得到了内存访问违规和内存泄漏。我没有主要功能,只需exe(井和.cpp文件)。

如何在调试器下运行此EXE?

update

如果您有一个具有多个项目的解决方案,并且需要运行1个包含单元测试的项目,例如,在调试器下,您需要:

  1. 右键单击Solution explorer中的此项目
  2. 单击"Set as StartUp project"
  3. 放一些休息点

个人不知道我需要将项目设置为启动。

update

如果您有一个具有多个项目的解决方案,并且需要运行1个包含单元测试的项目,例如,在调试器下,您需要:

  1. 右键单击Solution explorer中的此项目
  2. 单击"Set as StartUp project"
  3. 放一些休息点

个人不知道我需要将项目设置为启动。

您可以尝试调试您的测试套件很多,这是我建议您接近这一点的顺序:

  • 设置BOOST_TEST_CATCH_SYSTEM_ERRORS环境变量以获取故障的更好的堆栈跟踪。

  • 在(ALL)测试的开始和结束括号中设置断点,因为您的问题更有可能与测试有关,而不是框架和测试的设置。<<<<<<<<<<<<<<<</p>

  • 打开boost/test/impl/unit_test_main.ipp在Visual Studio中包含文件,并在unit_test_main方法中设置一个断点。您将踏上测试执行监视器,但这很少能提供更多的见识,而不仅仅是看测试本身。

  • 这很少需要,但是您也可以在第一个主体上明确开始使用DEBUG WINDOWS WINDOWS BRAKETPORTS NEW,函数。在CRT启动之前,可以在窗口上调用四种主要方法: maincrtstartup wmaincrtstartup winmaincrtstartup >。

  • 对于内存泄漏,请确保使用订单分配ID的--detect-memory-leak开关:

   执行监视器提供了有限的检测内存泄漏的能力    在程序执行过程中,并在特定的    内存分配订单号(1-在程序中的内存第一次分配,    2-第二,依此类推)。

此外,检查如何按名称运行单个测试,如果您只能隔离测试的故障子集,通常会使调试变得更加容易。

最新更新