最近一段时间,在工作中一直在进行windows下面的软件调试。使用的调试工具是windbg。但是对这个工具不熟悉,很多命令都不会,只好靠多看书来补充了。看了以前买的一本书《Advanced Windows Debugging》,中文名是《Windows高级调试》。第五章是《内存破坏之一-栈》,其中有一个例子是演示堆栈破坏的,但是作者只是简单说了说步骤,没有把详细的操作命令写出来,我自己实践了一下(嘿嘿,俺还是菜鸟级别的,不实践不行啊),源代码如下:
/*++
Copyright (c) Advanced Windows Debugging (ISBN 0321374460) from Addison-Wesley Professional. All rights reserved.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
PURPOSE.
--*/
#include <windows.h>
#include <stdio.h>
#define MAX_CONN_LEN 30
VOID HelperFunction(WCHAR* pszConnectionString);
void __cdecl wmain (int argc, WCHAR* args[])
{
if (argc==2)
{
HelperFunction(args[1]);