求助这种问题怎么解诀,求大神赐教

hahaxiao94 2019-09-29 06:30:33
...全文
187 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hahaxiao94 2019-10-16
  • 打赏
  • 举报
回复
问题初步解决,原因程序多线程之间对同一资源的同时操作导致异常未被捕获
hahaxiao94 2019-10-10
  • 打赏
  • 举报
回复
目前暂未有合适解决方案,异常抛出加了但是没有触发
hahaxiao94 2019-10-04
  • 打赏
  • 举报
回复
引用 5 楼 水边2 的回复:
同意楼上,如果是Winform,也可以加如下代码:
    static class Program
{
/// <summary>
/// 处理应用程序域内的未处理异常(非UI线程异常)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
try
{
Exception ex = e.ExceptionObject as Exception;
var msg = ex?.Message ?? Convert.ToString(e.ExceptionObject);
MessageBox.Show(msg);
}
catch { }
}
private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
string message = "出错了:" + e.Exception;
MessageBox.Show(message);
Utility.Log(message, "global");
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.ThreadException += Application_ThreadException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
// 对非UI线程异常进行处理,但是无法不退出程序
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

我先试试,感谢提供方案
  • 打赏
  • 举报
回复
在program 里面写log日期才行,这个看表示一脸懵逼
OrdinaryCoder 2019-09-30
  • 打赏
  • 举报
回复
第一张图有个滚动条 往下滚一下 应该可以看见具体什么程序集发生的异常 应该会对问题定位有帮助
Bridge_go 2019-09-30
  • 打赏
  • 举报
回复
这是个选项卡,换另外一页
游北亮 2019-09-30
  • 打赏
  • 举报
回复
同意楼上,如果是Winform,也可以加如下代码:
    static class Program
    {
        /// <summary>
        /// 处理应用程序域内的未处理异常(非UI线程异常)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            try
            {
                Exception ex = e.ExceptionObject as Exception;
                var msg = ex?.Message ?? Convert.ToString(e.ExceptionObject);
                MessageBox.Show(msg);
            }
            catch { }
        }
        private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
        {
            string message = "出错了:" + e.Exception;
            MessageBox.Show(message);
            Utility.Log(message, "global");
        }
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Application.ThreadException += Application_ThreadException;
            Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
            // 对非UI线程异常进行处理,但是无法不退出程序
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

datafansbj 2019-09-30
  • 打赏
  • 举报
回复
应该是代码运行出了异常,而又没有 catch 住。应该在任何可能出异常的地方使用 try catch,把异常写在自己的日志里。
良朋 2019-09-30
  • 打赏
  • 举报
回复
我怀疑是你的硬件出出故障了,比如串口、网口等, vb捕获不到信息的。
wanghui0380 2019-09-29
  • 打赏
  • 举报
回复
那个图是带滚动条的,没试着往下滚滚?也没试着在看看右边的“详细选项卡” 先看看这里有什么有用的信息 如果这里没有帮助,只能想办法在崩溃前去抓dump,然后在用dump分析了
hahaxiao94 2019-09-29
  • 打赏
  • 举报
回复
引用 1 楼 wanghui0380 的回复:
详细信息
能获取的就这些了,程序突然无响应关闭后事件日志里只有这些
wanghui0380 2019-09-29
  • 打赏
  • 举报
回复
详细信息

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧