结构体sockaddr_in和in_addr能否用dt查看?
Windows内核调试
结构体sockaddr_in和in_addr能否用dt查看?
小兵
2010-11-30, 22:35 下午
结构体sockaddr_in和in_addr的定义分别如下:
1.(http://msdn.microsoft.com/en-us/library/ms740496%28VS.85%29.aspx)
struct
sockaddr_in
{
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero [ 8] ;
};
2. (http://msdn.microsoft.com/en-us/library/ms738571%28VS.85%29.aspx)
typedef struct
in_addr
{
union {
struct {
u_char s_b1,s_b2,s_b3,s_b4;
} S_un_b;
struct {
u_short s_w1,s_w2;
} S_un_w;
u_long S_addr;
} S_un;
}
现在希望能够使用如下格式查看结构体成员的值:
dt
sockaddr_in
结构体地址
或
dt
in_addr
结构体地址
但是这样是错误的,我也一直没有发现那个模块输出了这两个结构。
请问是否可以通过编写扩展模块或其它方式实现这个功能? 谢谢
Re: 结构体sockaddr_in和in_addr能否用dt查看?
王宇
2010-12-01, 11:13 上午
忙的要死 出来透个气..
楼主要是没有私有符号就别想这么多了,毕竟公开的东西 dt 出来意义也不大。
0: kd> dt sockaddr_in -r
nt!sockaddr_in
+0x000 sin_family : Uint2B
+0x002 sin_port : Uint2B
+0x004 sin_addr : in_addr
+0x000 S_un : /unnamed-tag/
+0x000 S_un_b : /unnamed-tag/
+0x000 S_un_w : /unnamed-tag/
+0x000 S_addr : Uint4B
+0x008 sin_zero : [ 8 ] Char
0: kd> dt in_addr -r
nt!in_addr
+0x000 S_un : /unnamed-tag/
+0x000 S_un_b : /unnamed-tag/
+0x000 s_b1 : UChar
+0x001 s_b2 : UChar
+0x002 s_b3 : UChar
+0x003 s_b4 : UChar
+0x000 S_un_w : /unnamed-tag/
+0x000 s_w1 : Uint2B
+0x002 s_w2 : Uint2B
+0x000 S_addr : Uint4B
Re: 结构体sockaddr_in和in_addr能否用dt查看?
sudami
2010-12-03, 14:12 下午
LS的真强大啊. 学习了...
Re: 结构体sockaddr_in和in_addr能否用dt查看?
王宇
2010-12-03, 16:17 下午
;-) 不解释
Re: 结构体sockaddr_in和in_addr能否用dt查看?
小兵
2010-12-03, 21:23 下午
王宇,你的私有符号是不是来自http://advdbg.com/首页的"
NTOSKRNL调试符号
"?(http://advdbg.com/download/storeshow.aspx?id=b57ff417-9282-4f67-873f-9d758f9c220d) 。 不过这个链接已经失效了...
Re: 结构体sockaddr_in和in_addr能否用dt查看?
王宇
2010-12-03, 23:37 下午
不是的,我想那个链接应该是某些内核版本的公有符号。
Re: 结构体sockaddr_in和in_addr能否用dt查看?
菜鸟0011
2010-12-08, 11:09 上午
keen大哥很威武啊,什么都有~~
Re: 结构体sockaddr_in和in_addr能否用dt查看?
特来劲同学
2010-12-08, 11:11 上午
wy大哥必须nb~
Re: 结构体sockaddr_in和in_addr能否用dt查看?
王宇
2010-12-08, 19:37 下午
汗...
我只是打酱油的,不要乱说...