我使用Visual Studio 2008专业版在VC ++中创建了一个DLL,我试图测试(调试)它! 所以我做了另一个项目,但当我尝试进入一个班级时,我只是向前迈进了一步。
我也尝试点击该类并转到定义(它看起来无法加载符号)
我尝试使用工具>>选项>> Debuging>>符号来添加.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);
答案 0 :(得分:0)
我设法解决了我的问题: 我在配置属性&gt;&gt;调试我的测试解决方案中将“调试器类型”更改为“混合”
无论如何,我不明白为什么我需要这样做,如果有人是解释请发帖。