在VS2019版本中进行调试DLL,附加大智慧进程后,debug提示:当前没有命中断点,还没有为该文档加载任何符号?

我是个自学c++的爱好者,刚开始学习,只为做一个用于大智慧股票池的dll,之前我电脑中也是安装的是VS20109版本的软件,然后写了一个dll,当时也是用附加大智慧的进程来进行调试,之前由于使用的是大智慧的破解版软件(哎,没钱买正版..),当时附加到进程是能在程序中进入断点的,可是后来我的VS2019试用期过期后,于是我又重新安装了另一个也是2019的VS版本,然后在原来的dll的基础上接着写代码,大智慧软件也购买了个正版;可是今天我尝试附加大智慧进程来调试的时候,发现原来的方法第一行都进不去断点了...好心人,能不能告诉我怎么解决?能不能讲详细些,对软件的使用很多都不知道...谢谢好心人了

这不是你想调试就调试的,这必须吧DLL和对应版本的编译环境产生的符号文件绑在一起才能调试,而且如果不是debug版本的,VS2019是否支持调试都不知道,以前都是windbg才能调试那种release版本的。
一般的正版软件都不可能是调试版本的,也不可能支持你直接attach上去走读代码,这是人家的知识产权啊,微软光明正大的支持你去做还得了追问

我之前是可以调试的.是能断点到的....只是后面我换了一个VS版本和换了正版的大智慧软件,后面就没能在软件拦截到断点了;我设置断点的位置是我写的代码的位置,你的意思我需要换回破解版的大智慧才能断点到是吗?

追答

因为你没有正版DLL的符号表啊,错误信息说的很清楚。盗版软件给你提供了你当然你可以了

追问

我不是很清楚符号表是什么,我盗版的大智慧也是这样附加到进程来使用的,我也没有选择什么符号表的文件啊,但是破解版的是能进入到断点的..就是说我只能用破解版的大智慧是吗?还有一个现象是:正版里使用这个dll,发现没有数据输出,而破解版当时使用这个dll的时候,是有数据输出的,也就是说正版的好像都没有加载这个dll一样,这又是怎么回事呢?谢谢你了

追答

符号表告诉你每个变量、函数、代码在编译后得dll对应得代码所在位置。没有符号表,无法从机器执行代码反向定位到代码位置,你也没法设断点
既然你是做软件得,你应该学会保护知识产权,应该看大智慧得接口说明,而不是反编译人家代码去

追问

我不是反编译别人代码,...也没有那个水平,我只是想调试进入我的方法后的数据流转的变化;只是打算调试我的函数方法而已;刚才终于解决了问题...是大智慧的版本不同引起的,....;谢谢你的耐心回答

温馨提示:答案为网友推荐,仅供参考
相似回答