我正在研究具有PSI5接口的传感器,并且我正在使用PSI Simulyzer盒来模拟测试期间的环境。这个盒子带有一个软件(某种数字示波器)来进行测量,但也提供了 API 头文件和库。我的目的是使用这个 API 来自动化非回归测试测量。
这个 API 的文档很差 - 它基本上是从头文件生成的 doxygen。我试图猜测缺少的细节,但有些东西在我的软件中不起作用。也就是说,我似乎无法在同步和异步模式之间切换,而原始软件有一个工作正常的下拉菜单。
我决定通过在几个(大约 20 个)DLL 函数上放置断点来分析原始软件,这些函数似乎与 Visual Studio 调试器中的配置有关,并注意调用了哪些函数以及使用哪些参数。到目前为止我没有成功 - 当我用相同的参数调用相同的函数时,通信模式不会改变。
以下是我认为导致我的方法失败的原因:
- 我没有为所有函数设置断点(大约有 100 个)
- 我从一开始就没有分析这些电话。也许我缺少某种预配置序列。
- 一些函数采用指针参数(例如
int16_t *config),我不知道我需要提供多少字节。也许它们指向内部有更多指针的结构,我无法猜测。
我知道如何克服问题 1 和 2,但是手动进行这种扩展分析太费时了。有没有办法自动为 DLL 的所有函数设置断点,并在调用这些函数时记录参数?也许有一个调试器比 Visual Studio 更适合这个任务?
