免责声明:我不是C++开发者,我只能做基本的事情。(我理解指针,只是我的知识太生疏了,我已经20年没有接触C/C++了)
设置:我有一个outlook加载项,用c/.net 1.1编写。它使用了
c++ shim
加载。
通常,这工作得很好,我在我的c代码nlog中使用它来记录日志。但是,有时加载项加载失败,i.t.它根本没有命中托管代码,因此我无法从日志文件中调查问题。
所以,我需要把一些基本日志记录到C++ SIMM中,只需在文件中写入即可。我需要使它尽可能简单,以便我们的用户启用。事实上,我不想默认发货。
我在想一件事,它将检查是否有一个特定的dll(日志dll),如果有,使用它。否则,它不会记录任何东西。这样,当我有一个用户遇到这样的问题时,我可以只向他发送日志dll,用户将其保存在运行时目录中,我将拥有该文件。
我想这必须通过某种形式的工厂解决方案来完成,它要么返回一个虚拟记录器,要么如果找到了dll,返回一个真实的记录器。
另一个选择是制作一些简单的记录器,并根据指令使用或不使用它重新构建填充程序。这不是理想的方法,因为填充程序需要签名,我必须指示用户制作一个“真实”的备份副本,然后在完成后还原,等等,而不是仅仅保存和删除一个dll。
我会很感激任何好的建议,如何处理它,连同链接或样本代码后如何去。
干杯