* debug.c (ruby_debug_printf): use rb_raw_obj_info()

instead of rb_inspect() because it is more robust way
  to see object internal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2016-07-25 08:00:46 +00:00
parent c3236250fe
commit e5c6454efa
2 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,9 @@
Mon Jul 25 16:59:00 2016 Koichi Sasada <ko1@atdot.net>
* debug.c (ruby_debug_printf): use rb_raw_obj_info()
instead of rb_inspect() because it is more robust way
to see object internal.
Sun Jul 24 16:33:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* regenc.h/c, include/ruby/oniguruma.h, enc/ascii.c, big5.c, cp949.c,

10
debug.c
View File

@ -59,14 +59,16 @@ ruby_debug_printf(const char *format, ...)
va_end(ap);
}
#include "gc.h"
VALUE
ruby_debug_print_value(int level, int debug_level, const char *header, VALUE obj)
{
if (level < debug_level) {
VALUE str;
str = rb_inspect(obj);
fprintf(stderr, "DBG> %s: %s\n", header,
obj == (VALUE)(SIGNED_VALUE)-1 ? "" : StringValueCStr(str));
char buff[0x100];
rb_raw_obj_info(buff, 0x100, obj);
fprintf(stderr, "DBG> %s: %s\n", header, buff);
fflush(stderr);
}
return obj;