programing tip

디버깅 할 때 인수로 프로그램을 시작하려면 어떻게합니까?

itbloger 2020. 9. 5. 09:26
반응형

디버깅 할 때 인수로 프로그램을 시작하려면 어떻게합니까?


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

반응형