【翻译自mos文章】使用Process Monitor 来跟踪windows下的系统调用(system calls)
来源:互联网 发布:软件自动化 编辑:程序博客网 时间:2024/06/04 18:56
参考自:
Tracing windows system calls via Process Monitor - truss equivalent for Windows (Doc ID 1447085.1)
适用于:
Oracle Database - Enterprise Edition - Version 8.1.7.0 to 11.2.0.3 [Release 8.1.7 to 11.2]
Information in this document applies to any platform.
解决方案:
1. Process Monitor 介绍:
Process Monitor 是windows下的一个高级监控工具,该工具可以显示实时文件系统,注册表,进程和线程活动。
Process Monitor的特征是:广泛的事件属性,比如session ids 、user name,可信的进程信息,全部的线程stacks with integrated symbol support for each operation,同步的写入日志到文件等等。
2. Process Monitor的下载:
http://technet.microsoft.com/en-us/sysinternals/bb896645
3. Process Monitor的工作:
当你启动Process Monitor后,Process Monitor会启动对 来自所有 running application 的system calls 的跟踪。
下面是被监控的event classes 的列表(list)
- File System
- Network
- Process
- Profiling
- Registry
对于每个event,Process Monitor显示了如下信息:
操作:正在被执行的操作。
路径:操作所在位置,比如file的path,或者注册表键值(registry key)。
结果:操作的结果。
细节:操作的更一步的细节。
4. 跟踪单个application的方法
Process Monitor 提供非常丰富的过滤功能,这些功能允许用户来缩小跟踪到一个指定的标准。
使用如下之一的方法来建立一个filter:
- Open Filter menu > Select filter.
- Click Ctrl+L
- Click the filter icon (cone) from the toolbar.
当开启一个filter windows后,遵守下面的steps:
a. 从first drop down list中,选择Process name,或者 选择PID
b. 从second drop down list中,选择操作符(operator)
c. 填入process name or PID
d. 点击add 按钮
5.快速应用程序tracing
为了快速trace 一个application(区别于writing down the filter manually),点击sniper 图标,然后drag 到应用窗口。
6.跟踪一个单独的thread
Each oracle process is represented as a windows Thread, invoked by a single windows process.
To trace a single thread, select TID, then write down the thread id and click apply.
To get oracle session thread id, Join v$session and v$process to get SPID, which maps to windows thread ID:
select a.username, a.osuser, b.spidfrom v$session a, v$process bwhere a.paddr = b.addrand a.username is not null;
7. Resetting the filter.
8. Further reading.
- 【翻译自mos文章】使用Process Monitor 来跟踪windows下的系统调用(system calls)
- 【翻译自mos文章】跟踪UNIX系统调用的方法
- 【翻译自mos文章】Linux 操作系统下的内存使用
- 【翻译自mos文章】使用buffer memory 参数来调整rman的性能。
- [翻译自MOS文章]在windows上怎么在os级别跟踪CSS以便诊断OracleCSService的问题?
- 【翻译自mos文章】Windows平台下的 Oraagent Memory Leak
- 【翻译自mos文章】Windows Service Oracleremexecservice 是干什么的
- 【翻译自mos文章】使用Windows操作系统的Dell Pcserver,Oracle db报错:ORA-8103
- 【翻译自mos文章】使用asm来部署 超大数据库(10TB到PB 范围)--针对oracle 10G
- 【翻译自mos文章】使用索引快速全扫(index ffs) 来避免全表扫描
- 【翻译自mos文章】在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log)
- 【翻译自mos文章】使用config.sh/config.bat 来 configure or re-configure GI
- 【翻译自mos文章】rac数据库中,HC_<SID>.dat文件被其他Oracle_Home下的实例所使用。
- 【翻译自mos文章】开启dblink的 oracle net trace/tracing --对dblink进行跟踪的方法
- 【翻译自mos文章】在windows平台上怎么启用Oracle database 企业版的partition?
- 【翻译自mos文章】oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗?
- 【翻译自mos文章】在rac中,使用asmcmd命令从 文件系统 move system datafile 到asm磁盘组的方法
- 【翻译自mos文章】rhel 5下禁用SElinux的方法
- zoj 2949 Coins of Luck 抛硬币(概率(期望)+dp)
- 嵌入式开发第一课(嵌入式开发整体流程及开发环境的搭建)
- PAT BASIC PRACTISE: 1001. 害死人不偿命的(3n+1)猜想
- mybatis中的#和$的区别
- 程序员初见Maya 之 简单骨骼蒙皮动画
- 【翻译自mos文章】使用Process Monitor 来跟踪windows下的系统调用(system calls)
- Android 动画之RotateAnimation应用详解
- Maven项目里的pom解析和nexus私服
- UVA 11806 Cheerleaders
- java自学笔记————对于TreeSet实现排序的两种方法;
- 乌班图 LINUX 使用
- C++/C
- MySQL控制(关闭、打开)自动提交功能
- BMP格式图片的数据格式