有2个程序,A.exe和B.exe
当B.exe发生未知异常时,如何在A.exe里面知道B.exe发生异常了,并且可以在A.exe里获取B.exe的异常信息?

解决方案 »

  1.   

    try……catch……捕捉异常,然后:
    1.进程间通信http://blog.csdn.net/tanliyoung/article/details/1222186
    2.共享文件
      

  2.   


    因为不知道B里会发生什么样的未捕获异常,导致弹出.Net的错误对话框。
    就是想在A里监控B里没有捕获到的异常
    备考:
      B是一套成形的软件系统,但是可能其中某些程序写得不好,所以会有未知异常发生。
    现在就是想开发一个A程序,来监控上述未知异常,然后收集异常信息。
      

  3.   


    前提条件,B程序是不能修改的,所以try{}catch{}不可行。
      

  4.   

    在B中try catch捕获异常后,
    System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
            Info.FileName = "A.exe";//程序名
             Info.Arguments = “information”;//启动参数
    启动一个线程去执行Info,
    调用A程序,将捕获的异常传递过去,意思是说,B是主动,而你要用来监控的A程序是被动执行的。
      

  5.   


    .NET捕获是在自己程序里边捕获自己的,,不能跨程序捕获