gpt4 book ai didi

c - 如何查看 LPVOID 类型变量的内容

转载 作者:行者123 更新时间:2023-12-03 23:25:03 26 4
gpt4 key购买 nike

我有一个采用 LPVOID 类型参数的 C 函数。传入的值是\0 分隔的字符数组。如何转换参数以查看 Visual Studio/windbg 中的传入值?

最佳答案

您可以在脚本中执行此操作。像下面这样的东西会起作用,它假设 char * 字符串并且列表以双 NULL 结尾(如 MULTI_SZ):

$$ Print a MULTI_SZ value in the debugger. Note that 
$$ this script assume a char* string

$$ Grab the argument to the script
r @$t0 = ${$arg1}

$$ while *str != NULL
.while (by(@$t0) != 0)
{

$$ Print the string
da @$t0

$$ There's no strlen in this language, so find the NULL
.while (by(@$t0) != 0)
{
r @$t0 = @$t0 + 1
}

$$ String points to the NULL. Add one.
r @$t0 = @$t0 + 1
}

保存到文本文件,然后在 WinDBG 中运行以下命令:
0:000> $$>a<c:\dumps\multisz.txt 0x012210ec
012210ec "Foo"
012210f0 "Bar"
012210f4 "FooBar"

关于c - 如何查看 LPVOID 类型变量的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com