赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 167035 |
最后登录 | 2013-9-15 |
在线时间 | 57 小时 |
Lv1.梦旅人 风之塞尔达
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 57 小时
- 注册时间
- 2005-10-22
- 帖子
- 2492
|
在ruby自带的backtrace中, 出错是可以获取出错的类的名称的 ..。 但是这些不属于backtrace
如果是要出错的类实例化的对象的变量名的话。。 ms需要自己修改ruby源码了{/gg}
VC++
#define DEFS_ERRORMSG_LEN_CHAR 256
... ...
static char pOut[DEFS_ERRORMSG_LEN_CHAR];
... ...
VALUE lasterr = rb_gv_get("$!");
VALUE klass = rb_class_path(CLASS_OF(lasterr));
VALUE message = rb_obj_as_string(lasterr);
::sprintf_s(pOut, DEFS_ERRORMSG_LEN_CHAR, "\nErrorType:\n\t%s \nMessage:\n\t%s\n", RSTRING(klass)->ptr, RSTRING(message)->ptr);
if(!NIL_P(ruby_errinfo)) {
VALUE ary = rb_funcall(ruby_errinfo, rb_intern("backtrace"), 0);
... ...
... ... |
|