File: DbgHelper.cpp

package info (click to toggle)
storm-lang 0.7.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,004 kB
  • sloc: ansic: 261,462; cpp: 140,405; sh: 14,891; perl: 9,846; python: 2,525; lisp: 2,504; asm: 860; makefile: 678; pascal: 70; java: 52; xml: 37; awk: 12
file content (29 lines) | stat: -rw-r--r-- 600 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include "DbgHelper.h"

#ifdef WINDOWS

static bool init(HANDLE process) {
	SymSetOptions(SYMOPT_DEFERRED_LOADS | SYMOPT_LOAD_LINES);
	if (SymInitialize(process, NULL, TRUE))
		return true;

	// Note: We might see multiple instances of this per process, so this is typically not fatal.
	// WARNING(L"Failed to initialize DbgHelp: " << GetLastError());
	return false;
}

DbgHelp::DbgHelp() : process(GetCurrentProcess()), initialized(init(process)) {}

DbgHelp::~DbgHelp() {
	if (initialized)
		SymCleanup(process);
}

DbgHelp &dbgHelp() {
	static DbgHelp r;
	return r;
}


#endif