查看主题内容
Cesaryuan sonyps @Cesaryuan 可以呀,你是不是没用对?你看下输出窗口中中有圈出来这三句吗? 不好意思大佬,看雪没有提醒, ...
"D:\Program Files\IDA Pro 7.7 SP1\cfg\pdb.cfg"
配置文件中的_NT_SYMBOL_PATH改成
_NT_SYMBOL_PATH = "SRV*D:\\Win10Symbol\\SymbolCache\\MicrosoftPublicSymbols*http://msdl.microsoft.com/download/symbols;SRV*D:\\Win10Symbol\\SymbolCache\\MozillaPublicSymbols*https://symbols.mozilla.org/firefox;SRV*D:\\Win10Symbol\\SymbolCache\\ChromiumPublicSymbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com;";
sonyps @Cesaryuan 可以呀,你是不是没用对?你看下输出窗口中中有圈出来这三句吗?
大佬我找到原因了,我用systeminformer看了下ida加载的msdia140.dll,发现路径是这个:C:\Program Files\NVIDIA Corporation\Nsight Systems 2019.5.2\host-windows-x64\msdia140.dll
然后我把VS的msdia140.dll复制过去把这个文件覆盖了一下,问题就解决了,可能是因为NVIDIA的这个dll有问题?我也不知道为啥会加载到这个dll,我看了下Path里也没有这个文件夹。
然后我看了下ida加载这个dll时候的堆栈,发现是CoCreateInstance这个函数加载的,然后我看了下大佬的源码,确实有一个地方调用了 CoCreateInstance,不过具体我也看不懂了,比较菜^_^。
不知道这个问题好不好解决,虽然现在我通过替换dll解决了这个问题,但是不知道有没有什么副作用(会不会影响NVIDIA的运行),希望大佬有空可以看一下,Thanks♪(・ω・)ノ
你regsvr32 /u msdia140.dll 反注册一下就好了,原理你可以看源代码,开源的。这个是优先使用注册表中和vs中的msdia140.dll,都没有才使用当前目录下的msdia140.dll 。
sonyps 你regsvr32 /u msdia140.dll 反注册一下就好了,原理你可以看源代码,开源的。这个是优先使用注册表中和vs中的msdia140 ...
由于帖子不允许编辑了,所以在这楼更新下已经编译好的适配到IDA8.3版本的插件,当然你也可以下载开源地址https://github.com/sonyps5201314/pdb中的代码自行编译。
在这楼更新下已经编译好的适配到IDA9.0beta2版本的插件,当然你也可以下载开源地址https://github.com/sonyps5201314/pdb中的代码自行编译。
在这楼更新下已经编译好的适配到IDA9.0正式版本的插件,当然你也可以下载开源地址https://github.com/sonyps5201314/pdb中的代码自行编译。