mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 07:14:56 +01:00
Minor changes to ensure that MSVC knows about 'CaptureStackBackTrace()'
This commit is contained in:
parent
8587fef16a
commit
e29fd9a2fd
3 changed files with 20 additions and 2 deletions
|
|
@ -62,7 +62,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="$(DllPrefix)giomm32$(GlibmmDllSuffix)D.lib $(DllPrefix)glibmm32$(GlibmmDllSuffix)D.lib pthreadVCE2.lib $(DllPrefix)gio32$(GlibDllSuffix)D.lib $(DllPrefix)glib32$(GlibDllSuffix)D.lib $(DllPrefix)gobject32$(GlibDllSuffix)D.lib $(DllPrefix)sigc++32-2.0D.lib libxml2D.lib libsndfile-1D.lib intlD.lib ws2_32.lib"
|
AdditionalDependencies="$(DllPrefix)giomm32$(GlibmmDllSuffix)D.lib $(DllPrefix)glibmm32$(GlibmmDllSuffix)D.lib pthreadVCE2.lib $(DllPrefix)gio32$(GlibDllSuffix)D.lib $(DllPrefix)glib32$(GlibDllSuffix)D.lib $(DllPrefix)gobject32$(GlibDllSuffix)D.lib $(DllPrefix)sigc++32-2.0D.lib libxml2D.lib libsndfile-1D.lib intlD.lib ws2_32.lib dbghelp.lib"
|
||||||
OutputFile="$(OutDir)\$(DllPrefix)$(ProjectName)32D.dll"
|
OutputFile="$(OutDir)\$(DllPrefix)$(ProjectName)32D.dll"
|
||||||
AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
|
AdditionalLibraryDirectories="F:\pthread-win32\Pre-built.2\lib"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,10 @@
|
||||||
#include "pbd/libpbd_visibility.h"
|
#include "pbd/libpbd_visibility.h"
|
||||||
#include "pbd/timing.h"
|
#include "pbd/timing.h"
|
||||||
|
|
||||||
|
#if defined(COMPILER_MSVC) && !defined(PTW32_VERSION)
|
||||||
|
#include <ardourext/pthread.h> // Gets us 'PTW32_VERSION'
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace PBD {
|
namespace PBD {
|
||||||
|
|
||||||
typedef std::bitset<128> DebugBits;
|
typedef std::bitset<128> DebugBits;
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#include "libpbd-config.h"
|
#include "libpbd-config.h"
|
||||||
|
|
||||||
#include "pbd/stacktrace.h"
|
#include "pbd/stacktrace.h"
|
||||||
|
#include "pbd/debug.h"
|
||||||
#include "pbd/compose.h"
|
#include "pbd/compose.h"
|
||||||
#include "pbd/pthread_utils.h"
|
#include "pbd/pthread_utils.h"
|
||||||
|
|
||||||
|
|
@ -113,6 +114,19 @@ PBD::stacktrace (std::ostream& out, int levels)
|
||||||
|
|
||||||
#elif defined (PLATFORM_WINDOWS)
|
#elif defined (PLATFORM_WINDOWS)
|
||||||
|
|
||||||
|
#if defined DEBUG && !defined CaptureStackBackTrace
|
||||||
|
#define CaptureStackBackTrace RtlCaptureStackBackTrace
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
__declspec(dllimport) USHORT WINAPI CaptureStackBackTrace (
|
||||||
|
ULONG FramesToSkip,
|
||||||
|
ULONG FramesToCapture,
|
||||||
|
PVOID *BackTrace,
|
||||||
|
PULONG BackTraceHash
|
||||||
|
);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
PBD::demangle (std::string const & l) /* JE - !!!! 'PBD' namespace might possibly get removed (except it's still used in 'libs/canvas/item.cc') */
|
PBD::demangle (std::string const & l) /* JE - !!!! 'PBD' namespace might possibly get removed (except it's still used in 'libs/canvas/item.cc') */
|
||||||
{
|
{
|
||||||
|
|
@ -131,7 +145,7 @@ PBD::stacktrace( std::ostream& out, int)
|
||||||
HANDLE process;
|
HANDLE process;
|
||||||
|
|
||||||
process = GetCurrentProcess();
|
process = GetCurrentProcess();
|
||||||
out << "+++++Backtrace process: " << pthread_self() << std::endl;
|
out << "+++++Backtrace process: " << DEBUG_THREAD_SELF << std::endl;
|
||||||
|
|
||||||
SymInitialize( process, NULL, TRUE );
|
SymInitialize( process, NULL, TRUE );
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue