| 赞 | 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); 
    ... ... 
    ... ... |   
 
 
 
 |