如何使用c#在asp.net网页中显示C程序错误
Posted
技术标签:
【中文标题】如何使用c#在asp.net网页中显示C程序错误【英文标题】:How to display C program errors in asp.net web page using c# 【发布时间】:2014-02-25 10:46:29 【问题描述】:我正在创建在线编译器应用程序。我已经用 C#.net 和 VB.net 成功创建了。但是当我尝试使用 C 和 C++ 时,我不知道如何在 asp.net 网页中显示错误。
下面只显示错误而不显示错误在代码中的位置
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
as 从您的流程中获得结果
string cResults = proc.StandardOutput.ReadToEnd();
// and then wait to exit.
proc.WaitForExit();
【讨论】:
你能告诉我如何得到一个C程序的错误列表吗?我已将以下代码用于 C# 和 VB.net。 CompilerResults 结果 = icc.CompileAssemblyFromSource(parameters, txtProgram.Text); if (results.Errors.Count > 0) txtCompiler.ForeColor = Color.Red; foreach (CompilerError CompErr in results.Errors) @Balaji 当您在示例中运行 c 编译器时,它会在控制台上返回错误列表,在那里您会在我键入时读取错误。你有没有直接运行 c 编译器来查看什么返回?然后你需要解析这个错误......我不知道你真正想做什么。您甚至没有键入您运行的程序。当你编译你的 Visual Studio 程序时,你注意到输出窗口了吗? 我明白你在说什么,但我想知道发生错误的程序的确切行。你能提供我的代码吗? @Balaji 我们在这里可能不会说同一种语言,因为我不明白您还需要什么?对于您提供的代码,如果您以这种方式运行 c 编译器,则在cResults
上,您将获得编译器的返回。在那里你解析错误并且你有你的行。另外我什至不知道你运行什么程序,什么编译器。【参考方案2】:
你必须:
运行编译器 将其错误输出重定向到文本文件 解析文本文件以找到错误的文本,行号和列号 将其转换为您自己的格式化错误消息 将其转换为可以在 html 中显示的内容。唯一困难的部分是解析错误文件,但您不是第一个。每个人都这样做,包括所有的 IDE。也许您可以从 Eclipse 或 Netbeans 或其他地方获取一些代码。
【讨论】:
以上是关于如何使用c#在asp.net网页中显示C程序错误的主要内容,如果未能解决你的问题,请参考以下文章