这是我见过的最疯狂的事情
我有一个简单的应用程序,除了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/