调试 内存查看StringCchCopy的运行前后
2024-10-12 10:26:22
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[])
{
_wsetlocale(LC_ALL, L"chs"); //支持中文本地化
TCHAR szBuffer[] = {
TEXT('-'),TEXT('-'),TEXT('-'),TEXT('-'),TEXT('-'),
TEXT('-'),TEXT('-'),TEXT('-'),TEXT('-'),'\0'};
LPVOID lpMsgBuf; HRESULT err = StringCchCopy(szBuffer,_countof(szBuffer),_T("")); //将源字符缓冲区复制到目标字符缓冲区szBuffer FormatMessage( //windows提供的,将错误代码转换为相应的文本描述
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER,
NULL,
err,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf, , NULL);
wprintf(L"%s",lpMsgBuf); //打印错误的文本描述
getwchar();
return ;
}
断点到StringCchCopy函数运行之前,调试
查看监视
得到szBuffer里的数据正常,和它的内存地址
然后查看它的内存地址
然后执行下一步
发现传入szBuffer内容最后一位被截断,StringCchCopy函数,
返回给err HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) : 传递给系统调用的数据区域太小。 HRESULT
最新文章
- Java的HTTP通信
- Why jsp?
- 获取edit焦点,打开和关闭软键盘
- android Scroller类的理解
- 一款基于jQuery的支持鼠标拖拽滑动焦点图
- (两)unity4.6Ugui中国教程文档-------总结-UGUI Canvas
- ASP.NET MVC IOC 之Ninject攻略
- hdu_5324_Boring Class(cdq分治+树状数组)
- DOUAudioStreamer 中kqueue的应用
- Django 中的static文件的设置
- 使用GDB调试gp(转载)
- Go HTTP服务器
- Matlab 如何输入矩阵
- proguard-rules.pro、混淆、导jar包
- HDU 2546 01背包
- Python自动化之django model验证(很弱,感觉应用场景不多)
- mac php项目除了首页全飘not found
- UVA 11947 Cancer or Scorpio 水题
- LintCode-380.两个链表的交叉
- 数据结构-二叉搜索树(BST binary search tree)