diff options
| author | Tannin <devnull@localhost> | 2015-01-22 19:44:38 +0100 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2015-01-22 19:44:38 +0100 |
| commit | 2400e2c99ed3aa44152147ea7402c7f05f984aec (patch) | |
| tree | eff19629cdbeed469e0daebcfb91f5fa3491e54e /src/shared/util.cpp | |
| parent | af1e3d0187930c565c23e32652ab03dc11a8b0e8 (diff) | |
cleanup (mostly removing unused includes)
Diffstat (limited to 'src/shared/util.cpp')
| -rw-r--r-- | src/shared/util.cpp | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/shared/util.cpp b/src/shared/util.cpp index 1cbf088b..0f49d036 100644 --- a/src/shared/util.cpp +++ b/src/shared/util.cpp @@ -141,48 +141,4 @@ VS_FIXEDFILEINFO GetFileVersion(const std::wstring &fileName) }
-
-
-std::string GetStack()
-{
-#ifdef _DEBUG
- HANDLE process = ::GetCurrentProcess();
- static std::set<DWORD> initialized;
- if (initialized.find(::GetCurrentProcessId()) == initialized.end()) {
- static bool firstCall = true;
- if (firstCall) {
- ::SymSetOptions(SYMOPT_UNDNAME | SYMOPT_DEFERRED_LOADS);
- firstCall = false;
- }
- if (!::SymInitialize(process, NULL, TRUE)) {
- log("failed to initialize symbols: %d", ::GetLastError());
- }
- initialized.insert(::GetCurrentProcessId());
- }
-
- LPVOID stack[32];
- WORD frames = ::CaptureStackBackTrace(0, 100, stack, NULL);
-
- char buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(TCHAR)];
- PSYMBOL_INFO symbol = (PSYMBOL_INFO)buffer;
- symbol->SizeOfStruct = sizeof(SYMBOL_INFO);
- symbol->MaxNameLen = MAX_SYM_NAME;
-
- std::ostringstream stackStream;
- for(unsigned int i = 0; i < frames; ++i) {
- DWORD64 addr = (DWORD64)stack[i];
- DWORD64 displacement = 0;
- if (!::SymFromAddr(::GetCurrentProcess(), addr, &displacement, symbol)) {
- stackStream << frames - i - 1 << ": " << stack[i] << " - " << ::GetLastError() << " (error)\n";
- } else {
- stackStream << frames - i - 1 << ": " << symbol->Name << "\n";
- }
- }
- return stackStream.str();
-#else
- return "";
-#endif
-}
-
-
} // namespace MOShared
|
