C#程序”;运行两次”;,通过可执行文件和cmd

本文关键字:cmd 两次 可执行文件 运行 程序 | 更新日期: 2023-09-27 18:23:54

这是我的代码仅供参考,尽管我很确定这不是导致问题的代码。我在其他机器上运行了相同的代码,没有出现问题。

using System;
public class Program
{
public static void Main()
{
Console.WriteLine("Body-mass-index Calculator");
Console.Write("Enter a weight (in kg): ");
double weight = Double.Parse(Console.ReadLine());
Console.Write("Enter a height (in cm): ");
double heightcm = Double.Parse(Console.ReadLine());
double heightm = heightcm/100;
double bmi = (weight/heightm/heightm);
double bmiformatted = Math.Round(bmi, 2);
Console.WriteLine("Resulting body mass index: {0}", bmiformatted);
}
}

当运行可执行文件时,cmd窗口打开,我输入它要求我输入的内容,并显示计算出的bmi值。然后按enter键,cmd窗口关闭。到目前为止还不错。但随后会打开第二个cmd窗口,与第一个窗口相同,再次提示我输入值。我会像第一次一样做,这次会永远结束。

如果我选择不输入提示输入的值,而是关闭窗口,它将再次打开第二个窗口。

运行cmd有点不同。该程序将在一个新窗口中运行,一旦该窗口完成,它就会关闭,程序将从原始cmd窗口再次运行。

如果有任何其他信息可以帮助解决这个问题,请告诉我。谢谢

C#程序”;运行两次”;,通过可执行文件和cmd

我也遇到了这个问题,直到我在avast中取消了一个选项!防病毒。

查看您是否有avast!已安装防病毒软件。如果是这样,点击左侧的装备图标进行设置->防病毒->取消选中"启用DeepScreen"

如果它奏效了,那就归功于冒险家OK,他在这里发布了这个解决方案(带截图):

Visual Studio 2013运行项目两次

您也可以在调试器中启动。

windbg或ntsd(ntsd是一个控制台程序,可能已安装)。两者都来自Windows调试工具。

下载并安装Windows 的调试工具

http://msdn.microsoft.com/en-us/windows/hardware/hh852363

安装Windows SDK,但只需选择调试工具。

在**C:**中创建一个名为Symbols的文件夹

启动Windbg文件菜单-符号文件路径并输入

srv*C:'symbols*http://msdl.microsoft.com/download/symbols

然后

windbg -o -g -G c:'windows'system32'cmd.exe /k batfile.bat

您可以按F12停止它,kb将显示调用堆栈(g继续程序,pct运行到下一个函数调用)。如果有错误,它也会停止并显示它们。

键入lm列出加载的模块,键入x *!*列出符号,键入bp symbolname设置断点

如果在VB6中编程,则该环境变量link=/pdb:none将符号存储在dll中,而不是单独的文件中。确保编译程序时没有优化,并勾选"创建符号调试信息"框。两者都在项目属性的"编译"选项卡上。

此外,CoClassSyms(microsoft.com/msj/039/hood/hood039.aspx)可以从类型库中生成符号。