📄 ut0dbg.c
字号:
/*********************************************************************Debug utilities for Innobase.(c) 1994, 1995 Innobase OyCreated 1/30/1994 Heikki Tuuri**********************************************************************/#include "univ.i"#if defined(__GNUC__) && (__GNUC__ > 2)#else/* This is used to eliminate compiler warnings */ulint ut_dbg_zero = 0;#endif/* If this is set to TRUE all threads will stop into the next assertionand assert */ibool ut_dbg_stop_threads = FALSE;#ifdef __NETWARE__ ibool panic_shutdown = FALSE; /* This is set to TRUE when on NetWare there happens an InnoDB assertion failure or other fatal error condition that requires an immediate shutdown. */#else /* __NETWARE__ *//* Null pointer used to generate memory trap */ulint* ut_dbg_null_ptr = NULL;#endif /* __NETWARE__ *//*****************************************************************Report a failed assertion. */voidut_dbg_assertion_failed(/*====================*/ const char* expr, /* in: the failed assertion (optional) */ const char* file, /* in: source file containing the assertion */ ulint line) /* in: line number of the assertion */{ ut_print_timestamp(stderr); fprintf(stderr, "InnoDB: Assertion failure in thread %lu" " in file %s line %lu\n", os_thread_pf(os_thread_get_curr_id()), file, line); if (expr) { fprintf(stderr, "InnoDB: Failing assertion: %s\n", expr); } fputs("InnoDB: We intentionally generate a memory trap.\n""InnoDB: Submit a detailed bug report to http://bugs.mysql.com.\n""InnoDB: If you get repeated assertion failures or crashes, even\n""InnoDB: immediately after the mysqld startup, there may be\n""InnoDB: corruption in the InnoDB tablespace. Please refer to\n""InnoDB: http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html\n""InnoDB: about forcing recovery.\n", stderr); ut_dbg_stop_threads = TRUE;}#ifdef __NETWARE__/*****************************************************************Shut down MySQL/InnoDB after assertion failure. */voidut_dbg_panic(void)/*==============*/{ if (!panic_shutdown) { panic_shutdown = TRUE; innobase_shutdown_for_mysql(); } exit(1);}#else /* __NETWARE__ *//*****************************************************************Stop a thread after assertion failure. */voidut_dbg_stop_thread(/*===============*/ const char* file, ulint line){ fprintf(stderr, "InnoDB: Thread %lu stopped in file %s line %lu\n", os_thread_pf(os_thread_get_curr_id()), file, line); os_thread_sleep(1000000000);}#endif /* __NETWARE__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -