示例#1
0
	void PlatformStack::GetStack(ISymbolInfoGet& arr, int32 ignoreCount, int32 maxDepth, void* context)
	{
		std::vector<uint64> backTrace(maxDepth);
		Platform::PlatformStack::CaptureStackBackTrace(backTrace.data(), maxDepth, context);

		for (int i = ignoreCount; i < maxDepth; ++i)
		{
			if (backTrace[i] != 0)
			{
				Platform::PlatformStack::SymbolInfo info;
				Platform::PlatformStack::ProgramAddressToSymbolInfo(backTrace[i], info);
				arr.Push(info);
			}
		}
	}
示例#2
0
文件: path.c 项目: EraYaN/MiDeRP
//path finding algorithm based on Lee's algorithm
void findPath ()
{
	//Init
	entryNode->label = 0;

	//Wave expansion
	print(1, 1, "Pathfinder initialized, starting wave expansion...\n");
	startStopwatch ();
	expand (&entryNode, 1); //use wave expansion
	expansionTime = stopStopwatch ();
	displayGrid (); //print results

	//Backtrace
	print(1, 1, "Tracing back path...\n\n");
	startStopwatch ();
	backTrace ();
	backTraceTime = stopStopwatch ();
	displayPath (); //print results

}