c# - datetimepicker打开下拉列表导致应用程序退出

标签 c# winforms

这是我见过的最疯狂的事情

我有一个简单的应用程序,除了datetimepicker外,什么都没有。

如果我在VS(2013-2017)中运行该应用程序并打开日历弹出窗口,则一切正常。

如果我编译应用程序(调试或发布)并运行它,则在单击日历图标后,应用程序将立即关闭。

没有报告任何异常,附加到正在运行的进程不会捕获任何异常,而将未处理的异常捕获到所有都不会捕获UI或应用程序线程上的任何内容。

该应用程序以任何CPU为目标面向.NET 4.5.1。如果目标是x86或64,则结果相同。

我认为这可能是一些安全策略或类似的策略,但是对此了解不足,无法向安全团队提出正确的问题。

这是“调试诊断工具”中的日志:
加载控制脚本C:\ Program Files \ DebugDiag \ scripts \ CrashRule_Process_WindowsFormsApp1.exe.vbs对于WindowsFormsApp1.exe的所有实例,DumpPath设置为C:\ Program Files \ DebugDiag \ Logs \ Crash规则

[6/13/2017 11:40:42 AM]
流程已创建。 BaseModule-C:\ Users \ developer1 \ Documents \ Visual Studio 2017 \ Projects \ WindowsFormsApp1 \ bin \ Debug \ WindowsFormsApp1.exe。 BaseThread-系统ID:9468

C:\ Windows \ SysWOW64 \ ntdll.dll加载在0x774f0000
 线程已创建。新线程-系统ID:8472
 线程已创建。新线程-系统ID:14748
 线程已创建。新线程-系统ID:12908
 线程已创建。新线程-系统ID:14436
 线程已创建。新线程-系统ID:5704
 线程已创建。新线程-系统ID:5880
 线程已创建。新线程-系统ID:7596
 C:\ Windows \ SYSTEM32 \ MSCOREE.DLL加载在0x74ad0000
 C:\ Windows \ syswow64 \ KERNEL32.dll加载为0x769f0000
 C:\ Windows \ syswow64 \ KERNELBASE.dll加载在0x76e60000
 C:\ Windows \ syswow64 \ ADVAPI32.dll加载为0x76fa0000
 C:\ Windows \ syswow64 \ msvcrt.dll加载在0x753b0000
 C:\ Windows \ SysWOW64 \ sechost.dll加载在0x75460000
 C:\ Windows \ syswow64 \ RPCRT4.dll加载为0x750d0000
 C:\ Windows \ syswow64 \ SspiCli.dll加载为0x74d90000
 C:\ Windows \ syswow64 \ CRYPTBASE.dll加载到0x74d80000
 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ mscoreei.dll加载到0x74a50000
 C:\ Windows \ syswow64 \ SHLWAPI.dll加载在0x751e0000
 C:\ Windows \ syswow64 \ GDI32.dll加载为0x77060000
 C:\ Windows \ syswow64 \ USER32.dll加载在0x752a0000
 C:\ Windows \ syswow64 \ LPK.dll加载在0x769e0000
 C:\ Windows \ syswow64 \ USP10.dll加载在0x766e0000
 C:\ Windows \ system32 \ IMM32.DLL加载在0x75240000
 C:\ Windows \ syswow64 \ MSCTF.dll加载在0x76ec0000
 C:\ Windows \ system32 \ ctiuser.dll加载在0x749d0000
 C:\ Windows \ syswow64 \ WS2_32.dll加载为0x75050000
 C:\ Windows \ syswow64 \ NSI.dll加载在0x75480000
 C:\ Windows \ syswow64 \ PSAPI.DLL加载在0x774c0000
 C:\ Windows \ system32 \ FLTLIB.DLL载入0x749c0000
 C:\ Windows \ system32 \ VERSION.dll加载在0x749b0000
 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ clr.dll加载到0x742f0000
 C:\ Windows \ system32 \ MSVCR120_CLR0400.dll加载在0x741f0000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ mscorlib \ 50bcbedc6ed7027bd709339d3ec4c388 \ mscorlib.ni.dll加载为0x730a0000
 C:\ Windows \ syswow64 \ ole32.dll加载为0x76560000
 C:\ Windows \ system32 \ uxtheme.dll加载为0x6cdd0000
 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ clrjit.dll加载为0x73020000
 C:\ Windows \ syswow64 \ OLEAUT32.dll加载为0x76dc0000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System \ 48fb602d35146bc0c0002b21343a9f56 \ System.ni.dll加载为0x72690000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System.Drawing \ d59cbbb217b18f4219761e344ccf1c10 \ System.Drawing.ni.dll加载为0x6a610000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System.Windows.Forms \ a615de88390374e7e71749451bfa5eaf \ System.Windows.Forms.ni.dll加载在0x653c0000
 C:\ Windows \ WinSxS \ x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_ec86b8d6858ec0bc \ comctl32.dll加载为0x71c90000
 C:\ Windows \ WinSxS \ x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d \ comctl32.dll加载为0x6cc30000
 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ nlssorting.dll加载为0x72270000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System.Core \ a514635984ff3f4239dc0421b7e024b9 \ System.Core.ni.dll加载为0x68370000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System.Configuration \ a11c194343da7333f7f7e38960758384 \ System.Configuration.ni.dll加载为0x6ab30000
 C:\ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System.Xml \ 43529c5402fb2a8ebc8c76877b802cdc \ System.Xml.ni.dll加载为0x68f70000
 C:\ Windows \ syswow64 \ shell32.dll加载为0x75490000


C:\ Windows \ WinSxS \ x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.23721_none_5c052bcda00f9399 \ gdiplus.dll加载为0x6b010000
 C:\ Windows \ system32 \ dwmapi.dll加载为0x6ecc0000
 线程已创建。新线程-系统ID:6124
 初始化控制脚本
 清除任何现有断点

 当前断点列表(BL)
 [6/13/2017 11:40:43 AM]
 线程退出。退出线程-系统ID:6124。退出代码-0x00000000
 [6/13/2017 11:41:11 AM]
 线程已创建。新线程-系统ID:14984
 C:\ Windows \ SysWOW64 \ CRYPTSP.dll加载到0x74c20000
 C:\ Windows \ SysWOW64 \ rsaenh.dll加载为0x74be0000
 C:\ Windows \ SysWOW64 \ RpcRtRemote.dll加载在0x74bd0000
 线程已创建。新线程-系统ID:13868
 线程退出。退出线程-系统ID:12908。退出代码-0x00000001
 线程退出。退出线程-系统ID:13868。退出代码-0x00000001
 线程退出。退出线程-系统ID:14984。退出代码-0x00000001
 线程退出。退出线程-系统ID:7596。退出代码-0x00000001
 线程退出。退出线程-系统ID:5704。退出代码-0x00000001
 线程退出。退出线程-系统ID:5880。退出代码-0x00000001
 线程退出。退出线程-系统ID:14436。退出代码-0x00000001
 线程退出。退出线程-系统ID:14748。退出代码-0x00000001
 线程退出。退出线程-系统ID:8472。退出代码-0x00000001
 流程已退出。退出代码-0x00000001

 调试间接费用:
 过去的Ti虫总数= 28767(100%)
 调试器引擎中花费的总滴答声= 920(3%)
 崩溃规则脚本中花费的总滴答声= 63(0%)

最佳答案

好吧,我有非常相似的经历。只有一些客户遇到此问题。这是由他们的防病毒程序(在我的情况下为CarbonBlack)引起的。

在事件日志中,我通过“ CbDefense” EventId:17找到了此条目

'信息:应用程序“ MYEXEPATH”试图通过调用函数“ SetWindowsHookExW”将代码注入到进程“ MYEXEPATH”中。操作被阻止,应用程序被会议终止。

如果他们单击WinForm DateTimePicker,它将使程序崩溃。

(针对C#.NET 3.5构建)

关于c# - datetimepicker打开下拉列表导致应用程序退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44526867/

相关文章:

C# MVC 在同一行制作html单选按钮

c# - 在基类和派生类中实现接口(interface)

C#线程声明

c# - 在属性网格上显示数据

c# - 如何在 C# 中编译不安全代码

c# - 程序 '[12460] TestProject.exe' 已退出,代码为 -1 (0xffffffff)

c# - qt 到 c# : operator mean within struct 是什么

c# - ErrorProvider 不显示错误信息

c# - 用于 winforms 的 MVP 框架

c# - 如何将图像放入剪贴板?