在vc++中测试DLL不能步进函数
Testing DLL in VC++ cannot step into a function
我使用Visual Studio 2008专业版在vc++中制作了一个DLL,我正在尝试测试(调试)它!所以我做了另一个项目,但是当我试图进入一个类时,我让它向前迈进了一步。
我也试着点击类,然后去定义(它出现不能加载符号)
我尝试在tool>>options>> debugging>>符号中添加.pdb文件的路径
我的代码作为dll声明
#pragma once
__declspec(dllexport) long sdk_init();
//__declspec(dllexport) long sdk_release();
__declspec(dllexport) long sdk_connect(long handle);
__declspec(dllexport) long sdk_getObjectList(long handle);
//__declspec(dllexport) long sdk_disconnect(long handle);
__declspec(dllexport) long sdk_playStream(long handle, int idx);
__declspec(dllexport) long sdk_stopStream(long handle, int idx);
然后是实现,例如~
long sdk_init(){
CDataManager* m_DataManager = new CDataManager();
int i = m_DataManager->InitXns();
if(i == 0){
return 0;
}
return (long) m_DataManager;
}
我不能进入的类是CDataManager,这是我创建的一个类。# include
using namespace std;
#include <list>
class CDataManager :
public IDeviceSink,
public IMediaSink
{
public:
int InitXns(void);
int Connect(int nDeviceId);
int GetObjectList(void);
int RequestLiveStream(int videoSource);
int StopLiveStream(int videoSource);
private:
int m_bInitXns;
int login;
//store in list?
XNS_DEVICE2 m_sDevice;
//safe store?
XNS_OBJECT *m_pObject;
XNS_OBJECT *m_pVideoSource;
public:
CDataManager();
virtual ~CDataManager();
int SetWnd(HWND hWnd);
long OnResponse(XNS_REQUEST* pReq);
long OnEvent(XNS_EVENT* pEvent);
long OnVideo(UINT nMID, XNS_VIDEO_HEADER* pVideo);
long OnAudio(UINT nMID, XNS_AUDIO_HEADER* pAudio);
我设法解决了我的问题:我将配置属性中的"调试器类型"更改为"混合">>调试我的测试解决方案
无论如何,我不明白为什么我需要这样做,如果有人是一个解释,请张贴。
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 为什么我的for循环不能正确获取argv
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 为什么我不能在 FOR LOOP 中使用 i/10,C++?
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 为什么模板类中的对象不能返回值
- 为什么我不能在一个类的不同行中声明和定义成员变量?
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- Arduino Nano:A4988 使用串行输入时通过定时器进行步进控制不稳定
- 班上的Arduino步进电动机指针不起作用
- 不能将子课送进父母课程
- C++为什么字符串的地址尽管是十六进制格式,但不能存储在 long int 变量中?
- GDB 继续而不是步进
- 为什么无符号字符不能正确显示十六进制值
- 在vc++中测试DLL不能步进函数
- 不能同时将ASCII字符转换为整型和十六进制
- c++在mac OSX上使用Xcode,清除命令监视器,以及不输入的步进
- 样式不能缩进以结尾的行.或→