コード例 #1
0
ファイル: CrashHandler.cpp プロジェクト: Carbinfibre/ArcPro
void CStackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry & entry)
{
	CHAR buffer[STACKWALK_MAX_NAMELEN];
	if((eType != lastEntry) && (entry.offset != 0))
	{
		if(entry.name[0] == 0)
			strcpy(entry.name, "(function-name not available)");
		if(entry.undName[0] != 0)
			strcpy(entry.name, entry.undName);
		if(entry.undFullName[0] != 0)
			strcpy(entry.name, entry.undFullName);

		char* p = strrchr(entry.loadedImageName, '\\');
		if(!p)
			p = entry.loadedImageName;
		else
			++p;

		if(entry.lineFileName[0] == 0)
		{
			if(entry.name[0] == 0)
				sprintf(entry.name, "%p", entry.offset);

			sprintf(buffer, "%s!%s Line %u\n", p, entry.name, entry.lineNumber);
		}
		else
			sprintf(buffer, "%s!%s Line %u\n", p, entry.name, entry.lineNumber);

		OnOutput(buffer);
	}
}
コード例 #2
0
ファイル: TCPServer.cpp プロジェクト: d0evi1/LiteNet
/*
 * 每一次接收,
 */
int TCPServer_Output(SOCKET iSocket)
{
	// 1、接收逻辑
	int iRet = OnOutput(iSocket);
	if(iRet < 0)
	{
		XLOG_ERROR(m_pLogger, "OnOutput error: iRet = %d", iRet);
		return -2;
	}

	return 0;
}
コード例 #3
0
ファイル: AisoundTTS.cpp プロジェクト: bgtwoigu/code808
/* output callback */
ivTTSErrID ivCall OutputCB(
		ivPointer		pParameter,		/* [in] user callback parameter */
		ivUInt16		nCode,			/* [in] output data code */
		ivCPointer		pcData,			/* [in] output data buffer */
		ivSize			nSize )			/* [in] output data size */
{
	/* »ñÈ¡Ïß³ÌÏûÏ¢£¬ÊÇ·ñÍ˳öºÏ³É */
	pParameter = NULL;
	ivTTSErrID tErr = DoMessage();
	if ( tErr != ivTTS_ERR_OK ) return tErr;
	/* °ÑÓïÒôÊý¾ÝËÍÈ¥²¥Òô */
	return OnOutput(nCode, pcData, nSize);
}
コード例 #4
0
ファイル: CrashHandler.cpp プロジェクト: satanail/ArcTic-d
void CStackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry)
{
	CHAR buffer[STACKWALK_MAX_NAMELEN];
	if ( (eType != lastEntry) && (entry.offset != 0) )
	{
		if (entry.name[0] == 0)
			strcpy(entry.name, "(function-name not available)");
		if (entry.undName[0] != 0)
			strcpy(entry.name, entry.undName);
		if (entry.undFullName[0] != 0)
			strcpy(entry.name, entry.undFullName);
/*		if(!stricmp(entry.symTypeString, "-exported-"))
			strcpy(entry.symTypeString, "dll");
		for(uint32 i = 0; i < strlen(entry.symTypeString); ++i)
			entry.symTypeString[i] = tolower(entry.symTypeString);*/

		char * p = strrchr(entry.loadedImageName, '\\');
		if(!p)
			p = entry.loadedImageName;
		else
			++p;

		if (entry.lineFileName[0] == 0)
		{
			//strcpy(entry.lineFileName, "(filename not available)");
			//if (entry.moduleName[0] == 0)
				//strcpy(entry.moduleName, "(module-name not available)");
			//sprintf(buffer, "%s): %s: %s\n", (LPVOID) entry.offset, entry.moduleName, entry.lineFileName, entry.name);
			//sprintf(buffer, "%s.
			if(entry.name[0] == 0)
				sprintf(entry.name, "%p", entry.offset);
			
			sprintf(buffer, "%s!%s Line %u\n", p, entry.name, entry.lineNumber );
		}
		else
			sprintf(buffer, "%s!%s Line %u\n", p, entry.name, entry.lineNumber);
		//OnOutput(buffer);

		/*if(p)
			OnOutput(p);
		else*/
			OnOutput(buffer);
	}
}