반응형
디버깅 할 때 인수로 프로그램을 시작하려면 어떻게합니까?
Visual Studio 2008에서 프로그램을 디버깅하고 싶습니다. 문제는 인수를 얻지 못하면 종료된다는 것입니다. 이것은 주요 방법에서 가져온 것입니다.
if (args == null || args.Length != 2 || args[0].ToUpper().Trim() != "RM")
{
Console.WriteLine("RM must be executed by the RSM.");
Console.WriteLine("Press any key to exit program...");
Console.Read();
Environment.Exit(-1);
}
나는 그것을 주석 처리하고 컴파일 할 때 다시 들어가기를 원하지 않습니다. 디버깅 할 때 인수로 프로그램을 시작하려면 어떻게해야합니까? 시작 프로젝트로 설정됩니다.
로 이동하십시오 Project-><Projectname> Properties
. 그런 다음 Debug
탭을 클릭하고 라는 텍스트 상자에 인수를 입력합니다 Command line arguments
.
다음과 같은 지시문을 사용하는 것이 좋습니다 .
static void Main(string[] args)
{
#if DEBUG
args = new[] { "A" };
#endif
Console.WriteLine(args[0]);
}
행운을 빕니다!
내 제안은 단위 테스트를 사용하는 것입니다.
응용 프로그램에서 다음 스위치를 수행하십시오 Program.cs
.
#if DEBUG
public class Program
#else
class Program
#endif
및 static Main(string[] args)
.
또는 다음 을 추가하여 Friend Assemblies 를 사용할 수도 있습니다.
[assembly: InternalsVisibleTo("TestAssembly")]
귀하의 AssemblyInfo.cs
.
그런 다음 단위 테스트 프로젝트와 다음과 같은 테스트를 만듭니다.
[TestClass]
public class TestApplication
{
[TestMethod]
public void TestMyArgument()
{
using (var sw = new StringWriter())
{
Console.SetOut(sw); // this makes any Console.Writes etc go to sw
Program.Main(new[] { "argument" });
var result = sw.ToString();
Assert.AreEqual("expected", result);
}
}
}
이렇게하면 코드를 편집하거나 메뉴 설정을 변경할 필요없이 자동화 된 방식으로 여러 인수 입력을 테스트 할 수 있습니다.
대한 비주얼 스튜디오 코드 :
launch.json
파일 열기- 구성에 인수를 추가하십시오.
"args": [ "일부 인수", "다른 인수"],
참고 URL : https://stackoverflow.com/questions/4791140/how-do-i-start-a-program-with-arguments-when-debugging
반응형
'programing tip' 카테고리의 다른 글
node.js가 설치되었는지 확인하는 방법 (0) | 2020.09.05 |
---|---|
margin : auto 이미지를 중앙에 배치하지 않는 이유는 무엇입니까? (0) | 2020.09.05 |
std :: cout 조작 후 상태 복원 (0) | 2020.09.05 |
원격 JMX 연결 (0) | 2020.09.05 |
C #에서 XmlReader로 Xml 읽기 (0) | 2020.09.05 |