问题标签 [crash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
500 浏览

winapi - 如何在 Windows 上重新加载崩溃的进程

如何在 Windows 上重新加载崩溃的进程?当然,我可以运行自定义监控Win服务进程。但是,例如火狐:它似乎没有安装这样的东西,但它仍然可以在崩溃时自行重启。

0 投票
2 回答
5615 浏览

.net - 如何处理通过 System.Diagnostics.Process 启动的进程中的崩溃?

我正在使用 System.Diagnostics.Process 启动一个外部进程。这是批处理作业的一部分,所以如果一个进程崩溃,我想处理它并让其余的继续。

当前发生的情况是 Windows 会弹出一个对话框,告诉我程序已崩溃,并且只有在我手动关闭该对话框后,该进程才会退出。

根据这个问题, Process.Responding 属性仅适用于具有 UI 的程序(我正在启动的进程是控制台应用程序)。

我还查看了进程提供的各种事件,但没有一个是在崩溃时触发的。

有任何想法吗?

0 投票
2 回答
1366 浏览

c - setjmp/信号崩溃异常处理

我正在尝试为 C OSX Carbon多线程应用程序安装“崩溃处理程序”。在 Windows 上,我可以轻松使用 Windows 的简单高效的__try{} __except{} SEH,效果很好。(请注意,这些与 C++ 异常无关,它们是较低级别的 C 构造!)

这与我之前在 SO 上提出的问题非常相关:也与较旧的 SO 问题有关

答案似乎是在每个代码区域之前使用 setjmp(),然后在发生崩溃时使用信号处理程序 longjmp() 返回。

但是这个实现是不平凡的..因为多线程!Windows 中的 __try{} __except{} 习惯用法是线程安全的,并且可以正常工作。但显然 setjmp 不是线程安全的。

那么实现会是什么样子呢?我一直在想我将不得不实现一些线程本地存储。在开始时,我初始化 setjmp,将环境状态存储到线程本地缓冲区中,然后信号处理程序必须通过查看线程本地区域再次找到环境数据。但是,Google 和 SO 都没有显示任何证据表明这是正确的策略,特别是因为 setjmp() 被记录为线程不安全。线程本地存储不是需要每个线程都注册自己并分配内存(以保存该环境数据),并在线程销毁时释放它吗?

我希望我可以制作一个宏,将所有这些都包装在 OSX 上,我的 __try __except 代码可以正常工作。

那么,如何使用信号和 setjmp 制作 OSX 多线程安全的崩溃恢复处理程序?

0 投票
6 回答
9252 浏览

c# - TCP 套接字服务器偶尔会随着时间的推移建立 CLOSE_WAIT,直到无法操作

希望有人可以帮助我们,因为我们正在调查可以去!

我们有一个用 C# 编写的简单异步套接字服务器,它接受来自 ASP.NET Web 应用程序的连接,发送消息,执行一些处理(通常针对 DB,但也针对其他系统),然后将响应发送回客户端. 客户端负责关闭连接。

我们一直遇到问题,如果系统在很长一段时间内(通常是几天)处于重负载状态,CLOSE_WAIT 套接字会在服务器盒(netstat -a)上建立,以至于进程不会接受任何进一步的连接. 在这一点上,我们必须反弹该过程并再次运行它。

我们已经尝试对我们的 ASP.NET 应用程序运行一些负载测试以尝试复制问题(因为无法从代码中推断出某些问题)。我们认为我们已经解决了这个问题,并最终得到了问题的 WireShark数据包跟踪,在套接字服务器的日志中显示为 SocketException:

System.Net.Sockets.SocketException:远程主机在 System.Net.Sockets.Socket.BeginSend(Byte[] 缓冲区,Int32 偏移量,Int32 大小,SocketFlags socketFlags,AsyncCallback 回调,对象状态)处强行关闭了现有连接

我试图从数据包跟踪中重现该问题,因为它是一个直接与套接字服务器对话的单线程进程(使用与 ASP.NET 应用程序相同的代码),但我无法做到。

有没有人对接下来要尝试、检查的事情或我们可能做错的明显事情有任何建议?

0 投票
1 回答
728 浏览

c# - 更改包含具有 ItemContainerStyle 上的控件模板并绑定到 CollectionViewSource 的列表框的选项卡时,应用程序崩溃

我的问题是我有三个选项卡控件,每个选项卡控件都有一个列表框,该列表框具有 ListBox 和 ItemContainerStyle 的样式,选项卡内的所有列表框的样式都相同。

其中两个选项卡使用 CollectionViewSource 进行数据绑定。

问题是,一旦我尝试进入选项卡 2,我就会得到一个异常,我似乎无法找到从哪里来(我也厌倦了启用第一次机会异常,但什么也没有)

玩弄它我发现如果我从选项卡二中的 ListBox 中删除 ItemContainerStyle 它不再崩溃。另一种阻止它崩溃的方法是在列表框中没有任何项目。另一种方法是不使用 CollectionViewSource,而是在列表上使用 GetDefaultView() 并绑定到该列表。

这是我用来绑定到列表框的行:

这是选项卡控件的 XAML:

这是包含样式的资源目录:

0 投票
11 回答
9999 浏览

visual-studio-2008 - Visual Studio 一直关闭

我的 Visual Studio 大约每天关闭一次。也不优雅,它只是从屏幕上消失,进程列表,一切。没有思考,没有警告,只是噗它消失了。

这种情况最常发生在 coderush 尝试做某事时,最近(最近几天)每当我尝试打开视图时都会发生这种情况。截至几个小时前,每次我在 MVC 项目中打开 Globals.asx.cs 时都会发生这种情况。

所以这不完全是一个编程问题,但这已经发生了一段时间,现在随着 ASP.NET MVC 的出现,它发生得越来越频繁。

我的事件日志中出现以下错误:.NET Runtime version 2.0.50727.3082 - Fatal Execution Engine Error (7A035FC0) (80131506)

我也有以下VS2008插件

  • Coderush/重构专业版!来自 DevExpress
  • ASP MVC
  • 测试驱动的.NET
  • T4 工具箱
  • ASP.NET MVC
  • MbUnit/加里奥
  • 源大纲
  • AnkhSVN(最近安装)
  • Oracle 开发人员工具

有没有人遇到过这个问题,或者甚至可以指导我到哪里寻求解决方案?

0 投票
8 回答
3001 浏览

wpf - VS2008 因“致命执行引擎错误”而崩溃

有没有人找到解决此错误(事件日志)导致 Visual Studio 崩溃的问题?

.NET 运行时版本 2.0.50727.3082 - 致命的执行引擎错误 (7A2E1132) (0)

当我开始调试 xaml 中的问题时,它会执行此操作。然后 Visual Studio 将静默消失。

我查看了 SO 和 MS Connect,但没有找到修复或解决方法。我经常读到您应该禁用所有插件,但我没有。

编辑:是的,我安装了 SP1 和以下修复程序:

版本 9.0.30729.1 SP

KB944899 KB945140 KB945282 KB946040 KB946308 KB946344 KB946581 KB947171 KB947173 KB947180 KB947540 KB947789 KB947888 KB948127 KB9531756 KB950257 KB95645719

0 投票
2 回答
3763 浏览

windows - PDB 文件故障转储 user.dmp

我有一个应用程序崩溃,因此它在 Windows 平台中生成一个崩溃转储。我将 exe 和 dll 文件发送给客户。客户已将 user.dmp 和 drwtsn32.log 文件发送给我。但是,客户没有相应的 pdb 文件。客户只有 dll 和 exe 文件。因此,当我将此 user.dmp 文件附加到 Windbg 时,我没有得到符号。那么,我需要做什么才能获得符号。我需要将 pdb 文件发送给客户吗?如果是,那么当崩溃发生时他需要对这些 pdb 文件做什么?我使用三种不同的机器:a)构建机器,c)客户的测试机器和 c)我自己的调试机器(与构建机器不同)。windbg安装在调试机上。我可以将所有 pdb 文件从构建机器复制到我的调试机器中。请告诉我,

谢谢康康

0 投票
1 回答
4127 浏览

.net - 什么会导致 WPF 应用程序因 AppHangB1 问题事件名称而崩溃?

我目前正在处理的程序偶尔会因 AppHangB1 问题事件而挂起。我已经将它追溯到一系列特定的动作,但它似乎是一种黑森错误,因为每当我单步执行代码时,它都不会表现出来。一旦程序挂起,我就无法暂停程序以查看它在 Visual Studio 中的挂起位置。这个应用程序中发生了很多事情(非托管互操作、多线程等),所以在我的特定应用程序中可能有很多事情是错误的。

我不是在寻找任何人来为我解决我的问题,我只是想知道哪些类型的事情会导致这种类型的挂起?我在谷歌上找到了几个点击,但没有任何帮助。任何有助于查明问题的 .NET 应用程序调试技巧也会有所帮助。

0 投票
1 回答
1492 浏览

macos - CFRunLoopRemoveSource 和 CFRunLoopSourceInvalidate 的区别

我在 Mac 上调试我的 HID 驱动程序代码中的崩溃,发现崩溃发生在 CFRunLoop 中。在驱动程序代码中,我打开与我的 HID 设备匹配的 VID 和 PID 的设备的 USB 句柄,然后使用 setInterruptReportHandlerCallback 函数为其设置中断回调,然后使用 CFRunLoopAddSource 调用将其添加到 CFRunLoop。在我调用关闭句柄时,我使用 CFRunLoopRemoveSource 释放它们,然后在 CFRunLoopSourceRef 上使用 CFRelease 。

当我尝试打开句柄等待一段时间(5ms)然后在循环中关闭句柄时会出现问题。

当我搜索问题时,我遇到了一个链接,在该链接中他们遇到了与我的http://lists.apple.com/archives/usb/.../msg00099.html类似的问题,他们使用 CFRunLoopSourceInvalidate 调用而不是删除源调用。当我在关闭句柄调用中将其更改为 Invalidate source 时,它​​修复了我的崩溃。我想知道崩溃之间有什么区别,为什么这个调用修复了我的崩溃?

感谢 jbsp72