2014-02-25 30 views
6

我正在創建在線編譯器應用程序。我已經用C#.net和VB.net成功創建。但是當我嘗試使用C和C++時,我不知道如何在asp.net網頁中顯示錯誤。如何使用c#在asp.net網頁中顯示C程序錯誤#

下只顯示錯誤,但不是錯誤的位置在代碼

Process proc = new Process(); 
proc.StartInfo.FileName = Session[batchPath].ToString(); 
proc.StartInfo.RedirectStandardError = true; 
proc.StartInfo.RedirectStandardOutput = true; 
proc.StartInfo.UseShellExecute = false; 
proc.Start(); 

是不是還是我應該做任何修改?提前致謝。

回答

1

你得到利用你的處理結果的StandardOutput

string cResults = proc.StandardOutput.ReadToEnd(); 
// and then wait to exit. 
proc.WaitForExit(); 
+0

你能告訴我如何得到一個C程序的錯誤列表。我爲C#和VB.net使用了以下代碼。 CompilerResults results = icc.CompileAssemblyFromSource(parameters,txtProgram.Text); if(results.Errors.Count> 0) { txtCompiler.ForeColor = Color.Red; foreach(CompilerError CompErr in results.Errors) –

+0

@Balaji當您在示例上運行它時,c編譯器會在控制檯上返回錯誤列表,您在那裏讀取錯誤信息,然後鍵入它。你有沒有直接運行C編譯器來看看什麼是返回?然後你需要解析這個錯誤......我不知道你真的試圖做什麼。你甚至沒有輸入你運行的程序。當你編譯你的visual studio程序時,你有沒有注意到輸出窗口? – Aristos

+0

我明白你在說什麼,但我想知道發生錯誤的程序的確切路線。你可以爲我提供代碼嗎? –

0

你必須:

  • 編譯運行
  • 其錯誤輸出重定向到一個文本文件
  • 解析文本文件找到錯誤的文本,行號和列號
  • convert th在您自己格式化的錯誤消息
  • 將其轉換爲您可以在HTML中顯示的東西。

唯一困難的部分是解析錯誤文件,但你不是第一個。每個人都這樣做,包括所有的IDE。也許你可以從Eclipse或Netbeans或某處獲得一些代碼。

相關問題