这个问题可能适用于用Visual Studio编写的任何编程语言,但我更关注C ++。
有没有办法在Visual Studio中轻松确定应用程序入口点?
对于相对较小的应用程序,这可能很容易,但对于大型应用程序,这将非常困难。在我的特定情况下,我知道设置为启动的项目是具有入口点的项目,但我无法找到它,即使应用程序启动并运行良好。
答案 0 :(得分:3)
如果您想查找C ++项目可执行的内容,而不是在所有<ConfigurationType>Application</ConfigurationType>
个文件中搜索*.vcxproj
。
如果您要在此应用程序中查找入口点功能,请搜索main
,wmain
或WinMain
函数。
此外,还可以使用/ENTRY
参数重新定义入口点,以便检查Configuration Properties > Linker > Advanced > Entry Point
项目参数或在/ENTRY
中搜索*.vcxproj
。
答案 1 :(得分:2)
在C ++中,完全编译的程序只能有一个定义的var text = SplitCharsAndNums("asd1 asas4gr5 6ssfd");
var tokens = text.Split(' ');
方法。如果有多个,编译器会抱怨“主要的多个定义”或其他类似措辞的消息。
因此,最简单的选择是搜索符号main
(或者,如果编译为Windows子系统程序,main
)并找出哪些对应于“启动”项目。即使在相对较大的解决方案中,也不应该有那么多。
答案 2 :(得分:1)
当希望在主/ WinMain函数的顶部执行停止执行,同时在Windows上交互式调试进程时,我通常只使用F10 / F11(假设Visual中的默认C / C ++键绑定) Studio IDE)指示调试器单步执行(启动进程,然后执行步骤,然后中断)。
请注意,这可能并不总能满足您的需求。如果要捕获全局初始化,对象构造等,这些已在到达main
或WinMain
之前完成。这些需要在真实全局启动代码(最终调用main
或WinMain
)的CRT源代码中进行额外的调试和设置断点。但是如果你只是想要使用调试符号构建的程序的主要入口,这可能是最简单的方法。