2012-07-09 3 views
0

저는 프로그래밍 및 C#을 처음 사용하기 때문에 전장 2 서버에서 오류나 서버 충돌을 감지하는 프로그램을 작성하려고 시도하고 있습니다. 그러면 서버가 종료됩니다 (서버가 이미없는 경우). 아래로) 그리고 그것을 뒤로 시작한다. 그러나 나는 작은 융기에 뛰어 들어가 갔다. 전장 2를 다시 시작하려고하면 bf2에서이 오류가 발생합니다.파이썬을 사용하는 실행 파일을 시작하십시오.

디버그 어설 션이 실패했습니다! 버전 1.0.2446.12 빌드 날짜 :
모듈 : 파이썬
파일 : C : \ 주사위 \ 프로젝트 \ BF2Branches \ BF2Demo 코드 \ BF2 \ \ 게임 \ 파이썬 \ PythonHost.Cpp
라인 : 243

텍스트 :

현재 confile : 다음 BF2 모듈을 가져올 수

오류의 경로가 존재하지 않습니다.

나는 응용 프로그램을 시작하는 데 몇 가지 방법을 연구했지만 모두 동일한 결과가 있습니다. 내가 수동으로 BF2 서버를 시작할 때

Process proc = new Process(); 
proc.StartInfo.FileName = @"txtServerPath.Text"; 
proc.Start(); 

Process.Start(txtServerPath.Text); 

가 잘 시작 : 다음은 지금까지 시도 몇 수 있습니다. 그래서 내가 뭘 잘못하고 있니?
내 프로그램은 Windows Server 2003과 Windows 7에서 모두 실행됩니다.

+0

프로세스 시작 경로가 잘못된 것 같습니다. – leppie

+0

bf2를 시작하지만 bf2가 오류를 반환하므로 경로가 내가 아는 한 정확해야합니다. – IZZO

답변

0

디버그 어설 션이 실패했습니다! 버전 1.0.2446.12 빌드 날짜 : 모듈 : 파이썬 파일 : 는 C : \ 주사위 \ 프로젝트 \ BF2Branches \ BF2Demo 코드 \ BF2 \ 게임 \ 파이썬 \ PythonHost.Cpp \ 라인 : 243

텍스트 :를 가져올 수 BF2 모듈 :

현재 confile :

이 PythonHost.cpp이 기록 된 시스템의 경로이기 때문에 오류가있는 경로가 존재하지 않습니다. '디버그 어설 션'은 코드 개발자가 cpp 파일의 지정된 줄 번호에 조건 확인을 넣어 특정 조건을 검사하여 '모든 것이 잘 작동합니다.'라는 것을 의미합니다. 하지만 분명히 그렇지 않습니다. BF2가 디버그 버전을 설치했지만 이상하게 보입니다.

어쨌든 프로세스가 시작되지만 오류가 발생합니다. 그리고 문제는 C#에서 프로세스를 시작할 때 'bf2'라는 이름의 파이썬 모듈을 찾을 수 없다는 것입니다.

그래서 {BF2 Install folder} \ python \ bf2 \ __init__.py가 존재하는지 확인하십시오. 이런 일이있을 수 있습니다 이유에 대한 통찰력을 얻기 위해

,이 같은 BF2를 시작합니다 (C# 응용 프로그램을 가정 콘솔 응용 프로그램입니다) 시도 :

Process bf2 = new Process(); 
bf2.StartInfo.FileName = @"C:\Program Files\EA Games\Battlefield 2\BF2.exe"; 
bf2.StartInfo.Arguments = "+debugOutput 1"; 
bf2.StartInfo.UseShellExecute = false; 
bf2.StartInfo.RedirectStandardOutput = true; 
bf2.StartInfo.RedirectStandardError = true; 
bf2.Start();  

Console.WriteLine(bf2.StandardOutput.ReadToEnd()); 
Console.WriteLine(bf2.StandardError.ReadToEnd()); 

이가는 콘솔에 일부 로그를 인쇄한다 이를 통해 유용한 무엇인가가 추론 될 수 있다고 생각합니다.

그런데 남은 오류 메시지 (예 :'Current confile :'행 이후)

+0

그것은 bf2가 준 전체 오류입니다. Windows 양식을 사용하고있어 조금 변경했습니다. Bf2는 이제 다른 오류를 표시하지만 아무것도 로그에 인쇄되지 않습니다. 디버그 어설 션이 실패했습니다! 버전 1.0.2446.12 빌드 날짜 : 모듈 : 홈페이지 파일 : C : \ 주사위 \ 프로젝트 \ BF2Branches \ BF2Demo 코드 \ \ BF2 \ 게임 \ 홈페이지 \ StatusMonitorImpl_win32.cpp 라인 : 107 텍스트 : 나오지 않았어 콘솔 창 크기를 설정하지 않았습니다. 현재 confile : __init__.py가 존재합니다. – IZZO

+0

위의 의견에 대해 서식을 지정하여 죄송합니다. 댓글 달기는이 사이트에서 약간 이상한 것으로 보이며 편집 해 드릴 수는 없습니다. – IZZO