引入:上文我们讲解了Agent如何利用环境指针访问VM(操作局部变量篇),这里主要关注于如何操作断点。这个在调试期间非常频繁的被使用。分类7:断点操作a.SetBreakPoint.设置断点,它会产生一个BreakPoint事件。jvmtiError
SetBreakpoint(jvmtiEnv*env,
jmethodIDmethod,
jloca..
分类:
其他好文 时间:
2014-12-09 12:30:15
阅读次数:
116
引入:上文我们讲解了Agent如何利用环境指针访问VM的操作断点部分,这里我们详细讲解观察字段篇。这也是我们调试期间用的最多的操作。因为我们要不断从WatchField看他们值的改变。分类8:观察字段a.SetFieldAccessWatch.启用对某字段进行访问的观察。每次访问都会创建一个Field..
分类:
其他好文 时间:
2014-12-09 12:27:58
阅读次数:
210
引入:上篇文章中我们讨论了Agent利用环境指针访问VM的线程操作,这里讨论线程组操作。分类3:线程组操作a.GetTopThreadGroups.让Agent获取VM中的所有全局的线程组。jvmtiError
GetTopThreadGroups(jvmtiEnv*env,
jint*group_count_ptr,
jthreadGroup**groups_ptr)函数会返回全..
分类:
编程语言 时间:
2014-12-09 02:00:53
阅读次数:
205
引入:上篇文章讲解了分类:内存管理,现在讲线程类操作的接口。分类2:线程类操作a.GetThreadState.获取线程状态jvmtiError
GetThreadState(jvmtiEnv*env,
jthreadthread,
jint*thread_state_ptr)大家都知道线程有很多种状态,比如Alive,Terminated,Runnable,等待进入Synchron..
分类:
编程语言 时间:
2014-12-09 02:00:53
阅读次数:
232
引入:上篇文章讲解了Agent利用环境指针访问VM的线程组操作,这里讨论下堆栈操作。分类4:堆栈操作a.GetStackTrace.获取某线程的堆栈。jvmtiError
GetStackTrace(jvmtiEnv*env,
jthreadthread,
jintstart_depth,
jintmax_frame_count,
jvmtiFrameInfo*frame_buffer,
jint*count..
分类:
其他好文 时间:
2014-12-09 02:00:00
阅读次数:
158
引入:我们在前面说到JVMTI的客户端Agent,又提到Agent通过环境指针来访问VM。这里就来看看环境指针到底有多大的访问VM的能力。分类1:内存管理a.Allocate.分配内存jvmtiError
Allocate(jvmtiEnv*env,
jlongsize,
unsignedchar**mem_ptr)size:分配的字节数.mem_ptr:分配内存的首..
分类:
其他好文 时间:
2014-12-09 01:59:47
阅读次数:
247
引入:上文中我们讨论了Agent利用环境指针访问VM的堆栈操作部分,这里我们讨论堆操作部分。分类5:堆操作a.GetTag.获取对象在堆上的唯一标识符(长整型)。jvmtiError
GetTag(jvmtiEnv*env,
jobjectobject,
jlong*tag_ptr)b.SetTag.为对象设置堆上的唯一标示符。jvmtiError
Set..
分类:
其他好文 时间:
2014-12-09 01:58:32
阅读次数:
243
微信最近推出的一个社交工具网站 www.faxinxi.la ,能发投票、活动、文章。但在微信外的浏览器包括PC端和移动端的都无法浏览这个网站任何内容,那是通过什么来控制的呢?通过微信内输出特定JS接口不太可能,那就只能通过Header信息里的User-agent了,实验后证实没错,通过探测可以知道...
分类:
微信 时间:
2014-12-08 22:39:42
阅读次数:
1820
为什么要自定义OID? 前面的文章我们已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目,假如我们想知道nginx进程是否在运行?在没有zabbix agent的情况下,我们该怎么...
分类:
其他好文 时间:
2014-12-08 15:59:15
阅读次数:
314
系统日志中出现了
ata
truncated for column 'agent' at row 1
mysql出现这个问题的原因,无非就是字符集设置
或者是 字段过长导致的。
mysql在初始化的时候已经统一为utf-8了,所以可以忽略这个问题。
字符串过长从而导入插入失败
一种方式是修改字段长度,可是我这个字段没法知道到底多长存储合适,不太好...
分类:
数据库 时间:
2014-12-06 21:35:20
阅读次数:
406