给定一个具有如下入口点的程序集:
int FooClass::doFoo(int x, double y)
{
int ret;
// Do some foo
return ret;
}
是否可以使用另一个程序集来模拟类似的东西:
int FooClass::doFoo(int x, double y)
{
int ret;
TRACE_PARAM_INT(x)
TRACE_PARAM_DOUBLE(y)
// Do some foo
TRACE_RETURN_INT(ret)
return ret;
}
并且仅在存在 DEBUG 时启用此代码注入。如果有这样的方式,你如何加载“调试”程序集?
编辑 1:#ifdef 不是一个选项。说,我不想修改代码库。
编辑 2:我的主要问题是“如何将代码注入到已经编译的程序集中”。我确实有基本代码,但我宁愿不在该主代码中添加用于跟踪的 K 行,而是使用另一个程序集来执行此操作。我确实知道如何使用 VS 进行调试,我想要的是添加变量的跟踪机制(除其他外)。