• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2020 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_
6 #define V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_
7 
8 #if !defined(UNICODE) || !defined(_UNICODE)
9 #error Unicode not defined
10 #endif
11 
12 #include <DbgEng.h>
13 #include <DbgModel.h>
14 #include <Windows.h>
15 #include <crtdbg.h>
16 #include <wrl/client.h>
17 
18 #include <string>
19 
20 namespace WRL = Microsoft::WRL;
21 
22 // Globals for use throughout the extension. (Populated on load).
23 extern WRL::ComPtr<IDataModelManager> sp_data_model_manager;
24 extern WRL::ComPtr<IDebugHost> sp_debug_host;
25 extern WRL::ComPtr<IDebugControl5> sp_debug_control;
26 extern WRL::ComPtr<IDebugHostMemory2> sp_debug_host_memory;
27 extern WRL::ComPtr<IDebugHostSymbols> sp_debug_host_symbols;
28 extern WRL::ComPtr<IDebugHostExtensibility> sp_debug_host_extensibility;
29 
30 // To be implemented by the custom extension code. (Called on load).
31 HRESULT CreateExtension();
32 void DestroyExtension();
33 
34 #endif  // V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_
35