Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-05-18 12:00:47 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-05-18 12:00:47 +0300
commit278e3f7d5fea2a8b3775e76257dfd96a5e5c2f11 (patch)
treeee12328bf328aa1f0f2a5f4a8910062322dd1875 /source/creator
parent96fba1e101659cc5f63a5095ab652c6a0b019aa0 (diff)
Logging: add --show-log-backtrace
Useful in debug builds to see a functions callers.
Diffstat (limited to 'source/creator')
-rw-r--r--source/creator/creator_args.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c
index 675f2621942..4b5038d89df 100644
--- a/source/creator/creator_args.c
+++ b/source/creator/creator_args.c
@@ -536,6 +536,7 @@ static int arg_handle_print_help(int UNUSED(argc), const char **UNUSED(argv), vo
BLI_argsPrintArgDoc(ba, "--log");
BLI_argsPrintArgDoc(ba, "--log-level");
BLI_argsPrintArgDoc(ba, "--log-show-basename");
+ BLI_argsPrintArgDoc(ba, "--log-show-backtrace");
BLI_argsPrintArgDoc(ba, "--log-file");
printf("\n");
@@ -748,6 +749,17 @@ static int arg_handle_log_show_basename_set(int UNUSED(argc), const char **UNUSE
return 0;
}
+static const char arg_handle_log_show_backtrace_set_doc[] =
+"\n\tShow a back trace for each log message (debug builds only)."
+;
+static int arg_handle_log_show_backtrace_set(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
+{
+ /* Ensure types don't become incompatible. */
+ void (*fn)(FILE *fp) = BLI_system_backtrace;
+ CLG_backtrace_fn_set((void (*)(void *))fn);
+ return 0;
+}
+
static const char arg_handle_log_file_set_doc[] =
"<filename>\n"
"\n"
@@ -1948,6 +1960,7 @@ void main_args_setup(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
BLI_argsAdd(ba, 1, NULL, "--log", CB(arg_handle_log_set), ba);
BLI_argsAdd(ba, 1, NULL, "--log-level", CB(arg_handle_log_level_set), ba);
BLI_argsAdd(ba, 1, NULL, "--log-show-basename", CB(arg_handle_log_show_basename_set), ba);
+ BLI_argsAdd(ba, 1, NULL, "--log-show-backtrace", CB(arg_handle_log_show_backtrace_set), ba);
BLI_argsAdd(ba, 1, NULL, "--log-file", CB(arg_handle_log_file_set), ba);
BLI_argsAdd(ba, 1, "-d", "--debug", CB(arg_handle_debug_mode_set), ba);