Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我可以在没有main()函数的情况下调试(逐步调试)代码吗?_C++_Debugging_Code Analysis - Fatal编程技术网

C++ 我可以在没有main()函数的情况下调试(逐步调试)代码吗?

C++ 我可以在没有main()函数的情况下调试(逐步调试)代码吗?,c++,debugging,code-analysis,C++,Debugging,Code Analysis,假设我想通过使用调试器单步执行代码来理解一个更大的项目。是否可以在任意点跳入(假设我定义了正确的变量)?如何调试没有main的库?要调试库中的代码,请编写一个小应用程序(它有一个main())来调用库中需要调试的函数。然后调试该应用程序并进入它进行的库调用 至于“跳入任意位置”-您可以指示调试器将指令指针移动到任何您喜欢的位置,但这通常不是您想要的,因为您将丢失程序前面部分将创建的许多状态。通常,您要做的是在感兴趣的函数中设置一个断点,然后正常运行程序,直到达到断点。要调试库中的代码,请编写一个

假设我想通过使用调试器单步执行代码来理解一个更大的项目。是否可以在任意点跳入(假设我定义了正确的变量)?如何调试没有main的库?

要调试库中的代码,请编写一个小应用程序(它有一个
main()
)来调用库中需要调试的函数。然后调试该应用程序并进入它进行的库调用


至于“跳入任意位置”-您可以指示调试器将指令指针移动到任何您喜欢的位置,但这通常不是您想要的,因为您将丢失程序前面部分将创建的许多状态。通常,您要做的是在感兴趣的函数中设置一个断点,然后正常运行程序,直到达到断点。

要调试库中的代码,请编写一个小应用程序(它有一个
main()
),调用库中需要调试的函数。然后调试该应用程序并进入它进行的库调用


至于“跳入任意位置”-您可以指示调试器将指令指针移动到任何您喜欢的位置,但这通常不是您想要的,因为您将丢失程序前面部分将创建的许多状态。通常,您要做的是在感兴趣的函数中设置一个断点,然后正常运行程序,直到达到断点。

最好的方法是按原样运行应用程序,并在需要查看时设置断点。问题是程序可能会执行很多初始化和其他您无法理解的操作。

另一种方法是关注单元测试。它们就像小程序本身,只针对程序的特定部分。

最好的方法是按原样运行应用程序,并在需要查看时设置断点。问题是程序可能会执行很多初始化和其他您无法理解的操作。

另一种方法是关注单元测试。它们就像小程序本身,只针对程序的特定部分。

库没有主程序。这就是为什么您的测试代码有一个,您可以从那里开始调试。这是可能的,但前提是您是调试专家,并且可以使用调试器命令手动构造调用堆栈框架。@RichardCriten我该怎么做呢?也许可以了解单元测试库没有main。这就是为什么您的测试代码有一个调用堆栈框架,您可以从那里开始调试。这是可能的,但前提是您是调试专家,并且可以使用调试器命令手动构造调用堆栈框架。@RichardCriten我该怎么做?也许可以学习单元测试