zoukankan      html  css  js  c++  java
  • 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方

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

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

    Process.EnterDebugMode(); //用来开启本进程调试特权(SeDebugPrivilege)

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

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

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

    -文毕-

  • 相关阅读:
    python学习2(转载)
    python学习1
    第三方授权登录
    新浪微博开发者平台应用申请及配置说明
    新浪微博登录第三方网站实现原理是什么?
    Redis中PipeLine使用
    发送短信验证码的功能开发
    Python celery原理及运行流程
    设置django缓存+验证码图片接口
    编写注册接口
  • 原文地址:https://www.cnblogs.com/ahdung/p/5163394.html
Copyright © 2011-2022 走看看