コード例 #1
0
void
__pthread_abort_reason(const char *fmt, ...)
{
#if !TARGET_OS_EMBEDDED
	va_list ap;
	const char *str = fmt;
	_SIMPLE_STRING s = _simple_salloc();
	va_start(ap, fmt);
	if (_simple_vsprintf(s, fmt, ap) == 0) {
		str = _simple_string(s);
	}
	CRSetCrashLogMessage(str);
	va_end(ap);
#endif
	__pthread_abort();
}
コード例 #2
0
ファイル: glue.c プロジェクト: danmi1258/dyld
// called by LIBC_ABORT
void abort_report_np(const char* format, ...)
{
	va_list list;
	const char *str;
	_SIMPLE_STRING s = _simple_salloc();
	if ( s != NULL ) {
		va_start(list, format);
		_simple_vsprintf(s, format, list);
		va_end(list);
		str = _simple_string(s);
	} 
	else {
		// _simple_salloc failed, but at least format may have useful info by itself
		str = format; 
	}
	_ZN4dyld4haltEPKc(str);
	// _ZN4dyld4haltEPKc doesn't return, so we can't call _simple_sfree
}