shyandsy
驱动牛犊
驱动牛犊
  • 注册日期2007-12-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分447分
  • 威望183点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:2544回复:3

windbg怎样打印pwstr类型信息

楼主#
更多 发布于:2008-10-21 20:29
有个PWSTR类型的变量,从DDK头文件来看,这个类型是WCHAR类型的指针
我用下面
         DbgPrint("SfCreate :   [%s]\n",p);
   这条语句无法通过编译,又没有哪位知道如何打印该类型变量

 最好有所有类型的打印方法,像转义字符对照表那样全面些的


还有就是怎么把这个类型的地字符串放到一个UNICODE_STRING结构中,将其转化为一个标准的unicode字符串
选择喜欢做的事,就要努力去做!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2008-10-21 22:18
ddk上不是有吗?

RtlInitUnicodeString(PUNICODE,WCHAR*)
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
shyandsy
驱动牛犊
驱动牛犊
  • 注册日期2007-12-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分447分
  • 威望183点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-10-22 07:53
开始的时候 我就是这么写的
把这个指针用%s打印出来 比如是system.exe
但是一旦用该函数初始化到unicode字符串
在windbg里查看时候 就会发现它是乱码

这个字符串是我通过强制类型转换得来的
它的结尾是 \0 么
选择喜欢做的事,就要努力去做!
shyandsy
驱动牛犊
驱动牛犊
  • 注册日期2007-12-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分447分
  • 威望183点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-10-22 12:40
在描述下吧

我用强制类型转化的方法将内容转化保存到WCHAR  *p变量中,然后在DbgPrint用%s打印这个变量,显示正常.再在RtlIinitUnicodeString用其初始化UNICODE_STRING CurrentName,
这个DbgPrint用%s打印,仍旧正常。可是它在windbg里面显示的是乱码
                        struct _UNICODE_STRING "祓瑳浥"

这是为什么 ?

这样我就没有办法拿他和别的字符串进行比较
选择喜欢做的事,就要努力去做!
游客

返回顶部