在 1.exe 中0x77e4bef7时未处理的异常:Microsoft C++异常:内存位置 0x0012fb8c 处



第 25-30 行有问题。我请求了现有索引,但收到错误。我不明白这个问题,怎么了?

    string *shells_host = new string[cnt];
    for(int i=0;i<cnt;i++)
    {
        shells_host[i] = LinkToHost(shells[i]);
        shells[i] = LinkToReq(shells[i],shells_host[i].size()+7);
    }

所有代码:http://codepaste.ru/10939/

你把一个空字符串传递给 LinkToHost(),对 url.substr(7) 的调用会导致异常。

不用说,在调试器下运行代码需要几分钟才能弄清楚这一点。

要么深入研究调试器,要么分解问题并添加一些调试打印语句:

for(int i=0;i<cnt;i++)
{
    printf("i=%d, shells=%d", i, shells[i]);
    shells_host[i] = LinkToHost(shells[i]);
    int secondArg = shells_host[i].size()+7;
    printf("shells_host=%d, secondArg", shells_host[i], secondArg);
    shells[i] = LinkToReq(shells[i], secondArg);
}//to here

相关内容

  • 没有找到相关文章

最新更新