首页
社区
课程
招聘
[旧帖] [求助]free出现异常的原因?大家帮帮忙啊 0.00雪花
发表于: 2008-12-31 07:23 3880

[旧帖] [求助]free出现异常的原因?大家帮帮忙啊 0.00雪花

2008-12-31 07:23
3880
分线程:
  LPSTR pStr = "123";

  LPSTR pMessage = (LPSTR)malloc (strlen(pStr) + 1);

  SendMessage(hWnd, WM_XXXX, (WPARAM)pMessage, (LPARAM)strlen(pStr));//向 主界面发送字符串消息

主线程:
  WndProc()        //主线程消息处理函数
{
    switch(wMessageID)
  {
      char buff[20];      //分配一个局部栈
      ....

      case WM_XXXX:
          {
              memcpy(buff, (char*)wParam, 20);  //这里是越界操作, 但是会出现问题吗?
            
              ShowMessage(buff);                //这里是吧buff中的内容显示到界面上

              free((void*)wParam);                    //释放字符空间;
            
              break;
            }
    }
  }

    我最近在调试一个程序时,发现在free时总是出现异常,但是我查看指针指向的内存却没有问题,是一个以NULL结尾的字符串,我又仔细看了下对这个字符串的操作,发现了一处越界处理,就象上面的那个程序一样,我想问下大家,是这里的问题吗?如果是,那么什么情况下会抛出异常?如果不是,那么我还应该怎么查找这个问题呢?

这个问题我以前发过,书呆子说是出现了隐蔽异常,让我用OD再仔细调,我不明白,我还应该怎么调呢?我应该从哪个方面入手调呢?大家能不能指导我下。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
2
这帖子看到好多次了.
你何不将你的问题文件(exe)发上来大家帮忙分析一下.
2008-12-31 07:55
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
wParam,是你的函数参数吗,如果是函数参数就你咋free啊
2008-12-31 08:01
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个程序虽然不大,但是要跑起来要一系列的环境(紧环境至少1G),所以我没有发源文件。

大家能不能说说free出现异常~但是参数又没有错误,我应该怎么查呢?

wParam是参数,但是也是指向用malloc分配空间的一个字符串的指针,因此肯定是能够用free释放的.
2008-12-31 20:56
0
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
5
试图释放指向 const 数据的指针?
btw:内存在那里分配的就在哪里释放是个好习惯
LPSTR pStr = "123";

LPSTR pMessage = (LPSTR)malloc (strlen(pStr) + 1);

strcpy( pMessage, pStr );

SendMessage(hWnd, WM_XXXX, (WPARAM)pMessage, (LPARAM)strlen(pStr));//

free( pMessage );
2008-12-31 22:03
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
问题的原因我还在分析。
在此谢谢ikki,

LPSTR pStr = "123";

LPSTR pMessage = (LPSTR)malloc (strlen(pStr) + 1);

strcpy( pMessage, pStr );

SendMessage(hWnd, WM_XXXX, (WPARAM)pMessage, (LPARAM)strlen(pStr));//

free( pMessage );

我受益非浅
2009-1-1 21:09
0
游客
登录 | 注册 方可回帖
返回
//