文档章节

windows下jvm抛出:"Insufficient privileges to attach"

ihaolin
 ihaolin
发布于 2013/12/16 23:12
字数 360
阅读 531
收藏 1

由于应用跑在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 这儿就一目了然了。

收工吧。

© 著作权归作者所有

共有 人打赏支持
ihaolin
粉丝 259
博文 164
码字总数 106524
作品 4
朝阳
高级程序员
私信 提问
Java类动态加载(二)——动态加载class文件

想要在jvm启动后,动态的加载class类文件,我们首先需要了解Instrumentation、Attach、Agent、VirtualMachine、ClassFileTransformer这几个类的用法和他们之间的关系。 Java的com.sun.tools...

2k10
2015/03/20
0
0
Native memory allocation (malloc) failed to allocate

win7 64,jdk 7 内存4G 用imdisk分配了1G的虚拟硬盘作TEMP 系统此时占用内存2G多一点 ================= eclipse.ini -startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --......

ddatsh
2012/05/23
10.5K
1
关于jdk1.6的instrumentation代理使用问题

Java SE 6 的新特性:虚拟机启动后的动态 instrument 在 Java SE 5 当中,开发者只能在 premain 当中施展想象力,所作的 Instrumentation 也仅限与 main 函数执行前,这样的方式存在一定的局...

关键词
2014/03/12
202
0
Java Run-Time Data Areas(Java运行时数据区/内存分配)

Java运行时数据区(内存分配) 本文转载官网 更多相关内容可查看官网 中文翻译可参考 2.5. Run-Time Data Areas The Java Virtual Machine defines various run-time data areas that are use...

lichuangnk
08/19
0
0
JVM Attach实现原理剖析

前言 本文旨在从理论上分析JVM 在 Linux 环境下 Attach 操作的前因后果,以及 JVM 为此而设计并实现的解决方案,通过本文,我希望能够讲述清楚如下三个主要方面的内容。 原发布:我的博客 一...

从精于一开始
07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vuex进阶知识点巩固

我们先回忆一下上一篇的代码 computed:{ getName(){ return this.$store.state.name }} 这里假设现在逻辑有变,我们最终期望得到的数据(getName),是基于 this.$store.state.na...

嫣然丫丫丫
9分钟前
1
0
Python出现安全策略问题的解决方法

Python运行期间出现如下错误 import: attempt to perform an operation not allowed by the security policy `PS' @ error/constitute.c/IsCoderAuthorized/408. 解决方法:在脚本的开头添加......

大糊涂
17分钟前
1
0
Angularjs实现控制器之间通信方式示例

利用angularjs开发项目中,控制器之间的通信,比如参数的传递,数据的传递,都是比较常见的。控制器之间的通信,显得尤为重要。常见的方式有如下两种:一、angular服务的方式;二、基于事件广...

前端攻城老湿
24分钟前
1
0
xshell使用xftp传输文件

12月11日任务 15.4 xshell使用xftp传输文件 15.5 使用pure-ftpd搭建ftp服务 1.xshell使用xftp传输文件 示例一:xshell使用sftp传输文件 新建一个会话 定义为sftp 连接登入 可以get文件,下载...

hhpuppy
27分钟前
2
0
深入解析Vuex实战总结

这篇文章主要介绍了Vuex的初探与实战小结,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 1.背景 最近在做一个单页面的管理后台项...

前端攻城小牛
27分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部