IntervalZero RTX64 4.x 帮助文档

⌘K
  1. 主页
  2. 文档
  3. IntervalZero RTX64 4.x 帮助...
  4. RTX64 工具和实用程序...
  5. RTX64 Objects

RTX64 Objects

使用 RTX64 对象(Objects)工具查看 RTSS 进程及其关联对象的信息,如事件,信号量和加载的 RTDLL等。

查看 RTSS 进程信息:

在 RTX64 安装目录(%INSTALL DIR%\IntervalZero\RTX64\bin)中启动命令提示符工具,并输入:

rtssrun RTX64Objects.rtss [/a]

参数

参数描述
/a 或 /all除 RTSS 进程外,还提供内部系统进程和 Windows 代理进程的信息。

结果

RTX64 对象工具会列出每种类型的 RTSS 对象,及其在内核地址空间中的内存地址和进程 ID。还列出了每个对象的特定信息:

  • Process(进程):给出进程的名称或类型以及亲和性掩码,以及该进程拥有的线程对象;
  • Thread(线程):提供线程运行的优先级,亲和性掩码,当前处理器和状态,以及指示线程行为的标志值。RTX64为用户进程中的每个线程分配一个优先级值,范围为 0~127。具有负优先级数的线程属于系统进程。线程标志分配如下:
标志值含义
0x1不释放线程的栈
0x2线程的栈未释放
0x4线程被终止
0x8线程无法恢复
0x10中断服务线程
0x20线程已使用 FPU/MMX/XMM
0x40定时器服务线程
0x80关闭服务线程
0x100线程上执行的 TLS 初始化器/终结器
0x200带有保护页的栈
  • Timer(定时器):提供时钟编号,剩余时间和计时间隔;
  • Semaphore(信号量):提供计数,最大计数和对象名称(如果有);
  • Mutex(互斥体):提供计数,所有者及其对象名称(如果有);
  • Shared memory(共享内存):提供基本内存地址,共享内存的大小和对象名称;
  • RTDLL:提供计数,所有者地址和对象名称;
  • Event(事件):提供事件的状态,是否手动重置事件以及事件的名称;
  • File(文件):提供文件的 Windows 句柄和文件名;
  • Device PCI slot(设备 PCI 插槽):列出对象计数;

返回值

  • 进程成功返回 0;
  • 进程失败:
返回值错误
1无效参数
2无法分配大小为 N 的内存
3缓冲区溢出

备注

RTX64 Objects 工具要求子系统在收集数据时锁定所有对象。因此,在使用该实用程序时,RTSS 应用程序可能会遇到延迟。

注意:对于实时代理进程,PID 表示 Windows 进程 ID,TID 表示 RTSS 线程 ID 域中的 RTSS 代理线程 ID。


输出示例:

========== RTX64Objects - 4.5.0 =========
Object(ID) Address Information
---------- ------- -----------

Process 0xfffff80080ac8c40 *** Internal System Process ***
Thread(0x00001) 0xfffff800808e94a0 Pri=0xffffffff Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=Suspended
Thread(0x00002) 0xfffff80080a997e0 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00003) 0xfffff80080a9b640 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00004) 0xfffff80080a85280 Pri=0x7f Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal

Process(0x00003960) 0xffffe000ada00000 Mask=0x00000004 AffinedProcessor=0x02 *** Real-time Proxy Process ***
Thread(0x0002e) 0xffffe000ada08a88 Pri=0x00 Flags=0x0001 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x0002f) 0xffffe000ace09000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal

Command "C:\Program Files\IntervalZero\RTX64\bin\RtTCPIP.rtss"
Process(0x000003f9) 0xffffe000ada23000 Mask=0x00000ffc AffinedProcessor=0x02
Thread(0x00031) 0xffffe000a5aa8000 Pri=0x00 Flags=0x0021 Mask=0x00000ffc AffinedProcessor=0x02 State=Waiting
Thread(0x00032) 0xffffe000ab123000 Pri=0x42 Flags=0x0060 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Timer 0xffffe000a5a82680 Clock=0x2 Remain=0x0000e86c(us) Interval=0x000186a0(us)
Thread(0x00033) 0xffffe000ab51f000 Pri=0x3f Flags=0x0000 Mask=0x00000ffc AffinedProcessor=0x02 State=Waiting
Thread(0x00037) 0xffffe000adde6000 Pri=0x41 Flags=0x0040 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Timer 0xffffe000aad11610 Clock=0x2 Remain=0x00000064(us) Interval=0x00000064(us)
Thread(0x00038) 0xffffe000addf0000 Pri=0x40 Flags=0x0000 Mask=0x00000ffc AffinedProcessor=0x02 State=Waiting
Thread(0x0003b) 0xffffe000addfe000 Pri=0x00 Flags=0x0000 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Thread(0x0003c) 0xffffe000aded4000 Pri=0x7f Flags=0x0080 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Shutdown 0xffffe000add1f080
Process(0x00000001) 0xffffe000add73000 Mask=0x00000004 AffinedProcessor=0x02 *** Real-time Proxy Process ***
Thread(0x00034) 0xffffe000add7ba88 Pri=0x00 Flags=0x0001 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00035) 0xffffe000adbf9000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00036) 0xffffe000adbfb000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=Waiting
Thread(0x00039) 0xffffe000addfa000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x0003a) 0xffffe000addfc000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x0003e) 0xffffe000ada1d000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x0003f) 0xffffe000ada1f000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00040) 0xffffe000ada21000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00045) 0xffffe000adfa6000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal

Process(0x00004308) 0xffffe000ace36000 Mask=0x00000004 AffinedProcessor=0x02 *** Real-time Proxy Process ***
Thread(0x00069) 0xffffe000ace3ea88 Pri=0x00 Flags=0x0001 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x0006a) 0xffffe000a9fca000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal

Command rtx64objects.rtss -a
Process(0x0000040b) 0xffffe000ace49000 Mask=0x00000ffc AffinedProcessor=0x02
Thread(0x0006b) 0xffffe000aa21a000 Pri=0x00 Flags=0x0001 Mask=0x00000ffc AffinedProcessor=0x02 State=Ready

Events:
0xffffe000ab4ac1a0 State=1 ManualReset=0 Name="RTX64TCPIPSTART"
0xffffe000acfe2010 State=0 ManualReset=0 Name="** UNNAMED **"
0xffffe000ab52a7a0 State=1 ManualReset=1 Name="VNIC_UP"
0xffffe000ab4807a0 State=0 ManualReset=1 Name="VNIC_DOWN"
0xffffe000ab52d010 State=0 ManualReset=1 Name="VNIC_SHTDN"
0xffffe000adde2010 State=0 ManualReset=1 Name="VNIC_PENDING_RX"
0xffffe000adde3010 State=0 ManualReset=1 Name="VNIC_PENDING_TX"
0xffffe000adde5010 State=0 ManualReset=1 Name="** UNNAMED **"
0xffffe000adede010 State=0 ManualReset=0 Name="__STACK_ATTACH_EVENT__"

Semaphores:
0xffffe000adb057a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.1"
0xffffe000adb0e7a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.2"
0xffffe000adb177a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.3"
0xffffe000adb207a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.4"
0xffffe000adb297a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.5"
0xffffe000adb327a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.6"
0xffffe000adb3b7a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.7"
0xffffe000adb447a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.8"
0xffffe000adb4d7a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.9"
0xffffe000adb567a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.10"

Mutexes:
0xffffe000adafc780 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000a5aab010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000aa318010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000aa25d010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab0d1010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab023010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000aad99010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000a6086010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab01f010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab088010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab0ba010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab0c6010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab119010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab427010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"
0xffffe000ab42a010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **"

Shared Memory:
0xffffe000a5b18c60 BaseMemory=0xffffe000ab4aa000 Size=0x00001000 Name="RTXTCPHEAPSTATUS"
0xffffe000a5a685b0 BaseMemory=0xffffe000ab4a3000 Size=0x00001000 Name="RTXTCPSTACKCONTROL"
0xffffe000ab1118d0 BaseMemory=0xffffe000ade00000 Size=0x000bc000 Name="VNIC_SHM"

DLL Process References:
0xffffe000ab1fd240 Count=0x00000001 Name="RtVirtualNic_1017"


============== End RTX64Objects ==============