gpt4 book ai didi

.net - [net]如何将调试代码注入(inject)程序集?

转载 作者:行者123 更新时间:2023-12-01 15:35:44 28 4
gpt4 key购买 nike

给定一个入口点如下的程序集:

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 时启用此代码注入(inject)。如果有这种方式,如何加载“调试”程序集?

编辑 1:#ifdef 不是一个选项。比如说,我不想修改代码库。

编辑 2:我的主要问题是“如何将代码注入(inject)已编译的程序集”。我确实有基本代码,但我不想在该主代码中添加用于跟踪的 K 行,而是让另一个程序集执行此操作。我知道如何使用 VS 进行调试,我想要的是添加变量跟踪机制(除其他外)。

最佳答案

你可以试试像 PostSharp 这样的 AOP 后编译器.它适用于所有 .net 语言,但我没有在 C++ 上尝试过。

关于.net - [net]如何将调试代码注入(inject)程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278182/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com