public MainWindow() { //首先保存错误 var domain = AppDomain.CurrentDomain; domain.UnhandledException += (sender, targs) => { Console.WriteLine(config.ToString()); Console.WriteLine(chart1.ToString()); var ex = targs.ExceptionObject as Exception; if (ex != null) { MessageBox.Show("message: " + ex.Message + " trace: " + ex.StackTrace); //log("message: " + ex.Message + " trace: " + ex.StackTrace); } }; InitializeComponent(); if (File.Exists(configfilename)) //加载配置文件 { config = Config.load(configfilename); } DataSrc.ini(rx_fun); if (config.socket.type != DSType.uart) { DataSrc.dsdict[config.socket.type] = DataSrc.factory(config.socket.type, rx_fun); DataSrc.dsdict[config.socket.type].rx_event = rx_fun; //注册回调函数 } // 获取COM口列表 bt_refresh_uart_Click(null, null); }