summaryrefslogtreecommitdiffhomepage
path: root/src/backtrace.c
AgeCommit message (Collapse)Author
2018-04-23Fix undefined error of pointer dereference.Takeshi Watanabe
2017-11-29Add `most recent call last` message to the backtrace.Yukihiro "Matz" Matsumoto
2017-11-04Avoid pointer arithmetic in backtrace.c; #3816Yukihiro "Matz" Matsumoto
2017-11-02don't overwrite backtrace info.Tomoyuki Sahara
2017-09-27fix: src\backtrace.c(83): warning C4244: '=': conversion from 'mrb_int' to ↵Tomasz Dąbrowski
'int', possible loss of data
2017-08-12Reduce integer type mismatch warnings in VC.Yukihiro "Matz" Matsumoto
2017-08-11Remove an unused argument from `each_backtrace_func`.Yukihiro "Matz" Matsumoto
2017-08-11Avoid possible data loss by using `ptrdiff_t`.Yukihiro "Matz" Matsumoto
2017-08-08Check if `ptr` is NULL before calling `memset`; fix #3765Yukihiro "Matz" Matsumoto
2017-07-06Reduce allocation size of backtrace arrays.Yukihiro "Matz" Matsumoto
2017-07-06Avoid out-of-bounds access of the backtrace array.Yukihiro "Matz" Matsumoto
2017-06-02Make `break` in lambdas work as `return` according to CRuby behavior.Yukihiro "Matz" Matsumoto
2017-06-01Print most recent call last as CPython does.Yukihiro "Matz" Matsumoto
2017-05-31Restore MRB_API function `mrb_exc_backtrace(mrb, exc)`; ref 9644ad5Yukihiro "Matz" Matsumoto
2017-05-26Use RData instead of String to represent backtrace.Yukihiro "Matz" Matsumoto
2017-05-25Check backtrace info may not be set (esp. NoMemError); fix #3663Yukihiro "Matz" Matsumoto
2017-05-23Simplify backtrace mechanism; fix #3633 #3634 #3644Yukihiro "Matz" Matsumoto
Instead of preserving a backtrace in `mrb_state`, `mrb_exc_set` keeps packed backtrace in an exception object. `#backtrace` unpacks it to an array of strings.
2017-05-23Remove class info from backtrace lines.Yukihiro "Matz" Matsumoto
2017-05-23Type check before `print_backtrace()`Yukihiro "Matz" Matsumoto
2017-05-15Avoid call to_s during backtrace traversalCraig Lehmann
2017-04-25Avoid use of `snprintf()` when DISABLE_STDIO is set; fix #3632Yukihiro "Matz" Matsumoto
ref #3492 #3515 #3517
2017-04-03Unify `else` clause styleYukihiro "Matz" Matsumoto
2017-03-25Fix lost linenoksss
2017-03-20Use `snprintf()` to stringify fixnum numbers; fix #3492Yukihiro "Matz" Matsumoto
2017-03-04Save/restore arena index in the loop.Yukihiro "Matz" Matsumoto
2017-02-15Preallocate SystemStackError; ref #3421Yukihiro "Matz" Matsumoto
2017-02-08Check if irep is NULL before print_backtrace()Yukihiro "Matz" Matsumoto
According to the valgrind log attached to #3438, proc->body.irep may be NULL in some cases.
2017-01-23Skip non string values in backtraces; ref #3408Yukihiro "Matz" Matsumoto
2016-11-24Fixes for compiling mruby as C++Tomasz Dąbrowski
2016-03-07change backtrace sep from const char* to charYukihiro "Matz" Matsumoto
2016-03-06Revert "Merge pull request #3126 from jbreeden/backtrace_irep_null_check"Kouhei Sutou
This reverts commit bf7719fe8da1b704c2cb72dd629dc75135fd1ad5, reversing changes made to 4f4fa0ade0fd80a3a6fa64bebcb5f71b0d4a8648. We should get backtrace while irep is alive.
2016-03-05Fix Travis CIjbreeden
2016-03-05Null check for irep & initialize loc.linenojbreeden
2016-02-26The original code crashed when mrb->backtrace.n grew to 16.Carlo Prelz
It looks like the logic to reallocate the backtrace was flawed, based on the wrong variable (loc_raw->i, which, as I have verified, decreases from 16 to 0 instead of increasing) I am not sure if this is the correct fix
2016-01-07Fix segfault on mrb_exc_backtrace.Simon Génier
The code to iterate over backtrace locations was changed in #3065, but unfortunately output_backtrace was not correctly updated to forward the callback.
2016-01-07printf precision parameter must be 'int' typeSyohei YOSHIDA
There is a problem when MRB_INT64 is enabled.
2015-12-29Support backtrace after method callsKouhei Sutou
GitHub: fix #2902, #2917 The current implementation traverses stack to retrieve backtrace. But stack will be changed when some operations are occurred. It means that backtrace may be broken after some operations. This change (1) saves the minimum information to retrieve backtrace when exception is raised and (2) restores backtrace from the minimum information when backtrace is needed. It reduces overhead for creating backtrace Ruby objects. The space for the minimum information is reused by multiple exceptions. So memory allocation isn't occurred for each exception.
2015-11-27include changed from by quotes ("") to by brackets (<>); close #3032Yukihiro "Matz" Matsumoto
2015-11-17DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014Yukihiro "Matz" Matsumoto
changes: * rename DISABLE_STDIO -> MRB_DISABLE_STDIO * rename ENABLE_DEBUG -> MRB_ENABLE_DEBUG_HOOK * no more opposite macro definitions (e.g. ENABLE_STDIO, DISABLE_DEBUG). * rewrite above macro references throughout the code. * update documents
2015-02-12DISABLE_STDIO does not disable backtraces.Simon Génier
2015-02-05Fix possible segfault when accessing backtrace with MRB_WORD_BOXING.Simon Génier
2014-08-04add MRB_API modifiers to mruby API functionsYukihiro "Matz" Matsumoto
2014-07-15backtrace supression condition was wrong; fix #2472Yukihiro "Matz" Matsumoto
2014-07-12avoid print backtrace for SystemStackErrorYukihiro "Matz" Matsumoto
2014-06-13Fixed dead assignment in 'backtrace.c' reported by 'clang-analyzer'Jose Narvaez
2014-04-29fix disabled stdio (and remove trailing spaces)cremno
2014-04-24Fix MSVC warning for backtrace.ckyab
2014-03-01allow send method not to call mrb_funcall if calling method is implemented ↵Yukihiro "Matz" Matsumoto
in Ruby; fix #1680 ref #1765
2014-02-27revert 38e9ce21 and API changed; mrb_get_backtrace() -> renamed to ↵Yukihiro "Matz" Matsumoto
mrb_exc_backtrace since this is a backtrace method implementation of Exception; mrb_get_backtrace_at() -> removed; mrb_get_backtrace() -> added to get backtrace in array (like caller)
2014-02-27add new function mrb_get_backtrace_at() to get backtrace at ci and pcYukihiro "Matz" Matsumoto