예제 #1
0
/**
* Takes the active breakpoints to create a map that is used to count
* breakpoint hits and how much time is spent in blocks.
**/
std::map<Offset, TimedBlock*> initBlockMap()
{
	std::map<Offset, TimedBlock*> timedBlocks;

	IdaFile file = IdaFile();
	Debugger debugger = file.getDebugger();

	// Initialize the time of each basic block to 0
	for (unsigned int i=0;i<debugger.getNumberOfBreakpoints();i++)
	{
		Breakpoint bp = debugger.getBreakpoint(i);

		Offset breakpointAddress = bp.getAddress();

		timedBlocks[breakpointAddress] = new TimedBlock(breakpointAddress);
	}

	return timedBlocks;
}