相关疑难解决方法(0)

在Visual Studio C++中,内存分配表示是什么?

在Visual Studio中,我们都有"baadf00d",在运行时在C++中检查调试器中的变量时看到过"CC"和"CD".

根据我的理解,"CC"仅处于DEBUG模式,以指示内存何时是new()或alloc()并且是单元化的."CD"代表删除或免费内存.我在RELEASE版本中只看过"baadf00d"(但我可能错了).

偶尔会遇到内存泄漏,缓冲区溢出等问题,这些信息会派上用场.

是否有人能够指出何时以何种模式将内存设置为可识别的字节模式以进行调试?

debugging visual-c++

209
推荐指数
3
解决办法
10万
查看次数

调用函数时C++访问冲突读取位置0xcdcdcdcd错误

请考虑以下情况:

我有一个头文件及其相应的源文件:

exmp.h(头文件)

exmp.cpp(源文件)

在头文件中,我有一个函数声明,bubSort(...)其定义存在于

exmp.cpp

myClass::bubSort(...)
{

....
....

}
Run Code Online (Sandbox Code Playgroud)

其中,myClass->exmp.h中定义的类

现在为了bubSort(...)在另一个文件Sample.cpp中使用该函数,我myClassSample.h中声明了如下所示:

/*Sample.h*/
class myClass;

class sampleClass
{

  .....
  .....
  myClass *ptr;
};
Run Code Online (Sandbox Code Playgroud)

现在使用上面的内容ptr,我正在尝试访问bubSort(...)Sample.cpp,如下所示:

//Sample.cpp
#include "exmp.h"
sampleClass::func(...)
{
     ....
     ....
     ptr->bubSort(...);
}
Run Code Online (Sandbox Code Playgroud)

上面的场景在编译期间没有给出任何错误,但是在执行时,当控件到达时ptr->bubSort(...);,我得到一个异常:

访问冲突读取位置0xcdcdcdcd

有人会告诉我怎么能避免这种情况吗?

提前致谢.

c++ exception visual-c++

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

visual-c++ ×2

c++ ×1

debugging ×1

exception ×1