我是一个初学的C程序员。目前,我已经在我的windows 64位系统上安装了Visual Studio 1.61版(2021年9月)。我还安装了MingW64并设置了环境变量来编译和调试,目的是编写、调试和运行我的c程序。
我已经能够编写和运行我的程序,没有任何问题。我确实注意到,每当我希望调试我的程序时,悬停在顶部的调试工具栏上的按钮都是禁用的,并且“黄色箭头”没有指向任何线。
我修改了"launch.json“文件,并在其中设置了以下内容:
"stopAtEntry": true,
这会将黄色箭头设置为指向程序的开头,而不是断点,并且“调试”工具栏按钮被激活。但是,每当我跳到下一行代码时,黄色箭头就消失了,调试工具栏按钮再次被停用。这经常发生在我为变量赋值的代码行中。
我是一个初学者,我发现VS代码相当令人沮丧,我将感谢您的投入和建议。谢谢
发布于 2021-10-24 14:24:27
更新:我解决了这个问题。
因此,事实证明我的调试器没有任何问题,并且它的行为符合它的要求。我注意到,每当gcc编译器要执行包括scanf()
在内的行时,它总是会陷入这种行为。监视列表中的寄存器和变量会突然变得“不可用”,这是因为编译器正在等待用户输入。
由于VS代码没有显示在PowerShell上运行的程序,因此我将"launch.json“的某些配置修改为:
"externalConsole": true,
这允许打开命令提示符,显示正在运行的程序,并允许用户输入。
一旦收到用户输入,调试工具栏按钮就会再次激活,我就可以继续调试了。监视列表变量也可用于分析。
"stopAtEntry": false,
我将此配置设置为false,因为我不希望调试器从程序的开头开始。
这当然是令人沮丧的,但在找到这个“问题”的解决方案后,我打赌我的内啡肽和催产素水平超出了图表。
非常激动人心,这就是我最喜欢解决问题的地方。
https://stackoverflow.com/questions/69698660
复制相似问题