Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby的入口/出口跟踪-这能做得更好吗? < >编写C++日志包时,我也为程序员提供了一个简单的方法来完成函数的录入和退出。用法示例: // C++ int myfunc(int status) { FTRACE("status=",status) ... }_C++_Ruby_Logging - Fatal编程技术网

Ruby的入口/出口跟踪-这能做得更好吗? < >编写C++日志包时,我也为程序员提供了一个简单的方法来完成函数的录入和退出。用法示例: // C++ int myfunc(int status) { FTRACE("status=",status) ... }

Ruby的入口/出口跟踪-这能做得更好吗? < >编写C++日志包时,我也为程序员提供了一个简单的方法来完成函数的录入和退出。用法示例: // C++ int myfunc(int status) { FTRACE("status=",status) ... },c++,ruby,logging,C++,Ruby,Logging,这将生成一条类似于的日志消息 ENTRY myfunc status=45 ... EXIT myfunc 实现使用C++宏(获取函数名),并在堆栈上创建一个特殊的跟踪对象,然后析构函数生成退出消息。p> 我想知道我是否可以用Ruby做类似的事情 以下是我实现的(但我并不完全满意): (当然,在实际应用程序中,我不会使用“put”进行日志记录,而是调用我的日志记录包) 此代码的使用方式如下: def myfunc(foo,bar,baz) ftrace("foo =",foo) {

这将生成一条类似于的日志消息

ENTRY myfunc status=45
...
EXIT myfunc

实现使用C++宏(获取函数名),并在堆栈上创建一个特殊的跟踪对象,然后析构函数生成退出消息。p> 我想知道我是否可以用Ruby做类似的事情

以下是我实现的(但我并不完全满意):

(当然,在实际应用程序中,我不会使用“put”进行日志记录,而是调用我的日志记录包)

此代码的使用方式如下:

def myfunc(foo,bar,baz)
    ftrace("foo =",foo) {
      ...
    }
end

这是可行的,但需要一个额外的块是丑陋的。有更好的方法吗

看看/我认为这对我的情况没有帮助。由set_trace_func设置的跟踪处理程序将直接在my函数的入口点输入。在这一点上,我还没有信息,这个函数是否应该被跟踪,也没有信息,哪些数据应该被打印在跟踪中。看看/我认为这对我的情况没有帮助。由set_trace_func设置的跟踪处理程序将直接在my函数的入口点输入。在这一点上,我还没有信息,是否应该跟踪这个函数,也没有信息,哪些数据应该打印在跟踪中。
def myfunc(foo,bar,baz)
    ftrace("foo =",foo) {
      ...
    }
end