前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方

【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方

作者头像
AhDung
发布2018-09-13 11:11:29
1.3K0
发布2018-09-13 11:11:29
举报
文章被收录于专栏:AhDungAhDung

刚上线一个新版本,其中有台电脑打开软件就报【xx的类型初始值设定项引发异常】(还好不是一大波电脑,新东西上线就怕哀鸿遍野),如图:

显然是该类型的静态构造函数中抛异常了(红线处就是类名),遂打开该类,其构造函数中唯有一句看起来可能引发异常,即:

代码语言:javascript
复制
Process.EnterDebugMode(); //用来开启本进程调试特权(SeDebugPrivilege)

随即把这句放到一个测试程序中,再把测试程序拷到问题电脑上跑,果然是它,抛异常:Win32Exception:并非所有引用的特权或组都分配给呼叫方。如图:

可是为什么开发机和其它电脑都没抛呢,我大致能猜到跟该机权限不够有关,首先检查当前用户是否管理组,是管理组,但不是内置管理员administrator,立马联想到UAC(用户账户控制,这货我曾经吐槽过,它会让自建管理员与内置管理员有不同表现,所以印象深刻),检查一下果然就是它,关闭UAC重启之后,问题解决

另外我也给那句代码加了try-catch,直接吃掉,因为在这个程序中,调试特权不是必须,拿不到也没关系。

-文毕-

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-01-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档