我用asp.net 调用 控制台程序 ,我在控制台里设了个断点,在调试asp.net 时 希望可以跟进到 控制台里的断点,该怎么弄啊 调用控制台
try
{
string filename = "E:\\" + DateTime.Now.ToString("yyyyMMddHmmss") + ".jpg";
Bitmap bmp;
Process pro = new Process();
pro.StartInfo.CreateNoWindow = true;
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.RedirectStandardOutput = true;
pro.StartInfo.FileName = @"D:\技术\控制台\\sdf\bin\Debug\sdfsd.exe";
pro.StartInfo.Arguments =""+RealUrl+" "+Addr+"";
pro.Start();
string Iscom = pro.StandardOutput.ReadToEnd();
// Response.Write(sf);
Iscomploed = Convert.ToInt32(Iscom);
Response.Write(Iscom);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
控制台程序
static void Main(string[] args)
{
int IsComploeted = 1;
string filename = args[1].Trim().ToString();
string url = args[0].Trim().ToString();
Bitmap bmp = null; try
{
bmp = Okpower.Utility.WebPreview.GetWebPreview(new Uri(url), 0x493e0, 800, 600, true);
}
catch (Exception e)
{
IsComploeted = 0;
Console.WriteLine(e.Message);
}
try
{
bmp.Save(filename);
}
catch(Exception ee)
{
Console.WriteLine(ee.Message);
}
解决方案 »
- ExecuteReader 要求已打开且可用的连接。连接的当前状态为正在连接。
- 通过post传单选框值 急!!!!!!!!!!!!!
- 判断客户端是否安装某插件
- 一个很简单的问题,但是我不会,嘿嘿。关于路径的?解决后立刻结贴
- 下拉日期框的问题
- CuteFTP中怎样对防火墙设置进行配置
- vs2008WEB.CONFIG配置问题?谢谢
- 请问 GridView 根据bool设定button背影颜色
- 寻求紧急支援-----重装系统后出现问题(一)
- 这是为什么?奇怪?在ASPX网页中放一JS脚本:
- 【200分】请各位帮忙看下,要想在asp.net中实现这个页面中gridview的效果,要怎么做?
- 谁能帮我解决这个布局问题
可能的解决办法:
1.利用在控制台程序里写日志的方法来调试2.在控制台程序要调试的语句前加一句Console.Readline();也就是让程序停下来,等待用户输入后再继续,这样你可以有机会将程序关联上进程,实现单步调试。具体做法是,先将程序编译好,然后运行编译好的程序(不是在visual studio里直接调试代码),当执行到Console.Readline();停下来时,在visual studio里选择调试--关联进程,然后在列表里找到控制台程序的进程,应该就可以单步调试了。
1.
先在你的代码里,暂时把这句:
pro.StartInfo.CreateNoWindow = true;
修改成:
pro.StartInfo.CreateNoWindow = false;2.
暂时注释掉这3句:
string Iscom = pro.StandardOutput.ReadToEnd();
Iscomploed = Convert.ToInt32(Iscom);
Response.Write(Iscom);3.把这句
int IsComploeted = 1;
设上断点,在它之前加一句:
Console.Readline();3.然后编译你的程序4.运行编译后的程序(不是在visual studio里调试)5.然后在Visual Studio里选 调试---关联进程,找到sdfsd.exe,确定6.现在应该有个DOS窗口打开了,到那个窗口,按任意键7.现在应该跳到前面设好的断点以上调试通过
pro.StartInfo.UseShellExecute = true;
pro.StartInfo.RedirectStandardOutput = false;或者这三句都暂时注释掉: pro.StartInfo.CreateNoWindow = true;
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.RedirectStandardOutput = true;