windows下jvm抛出:"Insufficient privileges to attach"
博客专区 > ihaolin 的博客 > 博客详情
windows下jvm抛出:"Insufficient privileges to attach"
ihaolin 发表于4年前
windows下jvm抛出:"Insufficient privileges to attach"
  • 发表于 4年前
  • 阅读 277
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 主要是要对java应用作动态attach就碰到了这个问题

由于应用跑在windows下,并以System用户运行。

本人以Administrator来进行attach操作,结果就可想而知,直接报出:

"Insufficient memory or insufficient privileges to attach"
很明显,System用户比Administrator用户权限高得多,也情有可理,于是通过PsExe工具启动我得程序,来attach目标程序,两者都是System用户运行,结果依然出现上面得错误,于是将attach程序去掉界面来运行,及不要PsExec得-i参数,嗯,结果就可以了,那到底为什么有了界面就不行了呢,还得从异常说起,这个异常是jvm抛出来的,java里看不到,于是去翻openjdk7, 搜遍整个openjdk7源码都没找到这句话,按理会在WindowsVirtualMachine.c这个文件中,结果真心就没有,异常都不知道在哪儿抛出来的,怎么搞?一不小心在网上看到了这么段源码:(都被标记为Old了,没办法只能怀疑Oracle jdk里面还保留着这个)
if (GetLastError() == ERROR_NOT_ENOUGH_MEMORY) {
   // This error will occur when attaching to a process belonging to
   // another terminal session. See "Remarks":
   // http://msdn.microsoft.com/en-us/library/ms682437%28VS.85%29.aspx
   JNU_ThrowIOException(env,
           "Insufficient memory or insufficient privileges to attach");
} else {
   JNU_ThrowIOExceptionWithLastError(env, "CreateRemoteThread failed");
}
喜出往外,终于看到本人了, http://msdn.microsoft.com/en-us/library/ms682437%28VS.85%29.aspx 这儿就一目了然了。

收工吧。

共有 人打赏支持
粉丝 254
博文 164
码字总数 106524
作品 4
×
ihaolin
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: