Index: tools/memory_watcher/memory_watcher.h |
diff --git a/tools/memory_watcher/memory_watcher.h b/tools/memory_watcher/memory_watcher.h |
deleted file mode 100644 |
index 8f5f1c2eb6fd5dfe0c0478cec7099d53cf760397..0000000000000000000000000000000000000000 |
--- a/tools/memory_watcher/memory_watcher.h |
+++ /dev/null |
@@ -1,95 +0,0 @@ |
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// MemoryWatcher. |
-// The MemoryWatcher is a library that can be linked into any |
-// win32 application. It will override the default memory allocators |
-// and track call stacks for any allocations that are made. It can |
-// then be used to see what memory is in use. |
- |
-#ifndef TOOLS_MEMORY_WATCHER_MEMORY_WATCHER_ |
-#define TOOLS_MEMORY_WATCHER_MEMORY_WATCHER_ |
- |
-#include <map> |
-#include <functional> |
- |
-#include "base/synchronization/lock.h" |
-#include "tools/memory_watcher/memory_hook.h" |
- |
-class CallStack; |
-class AllocationStack; |
- |
-// The MemoryWatcher installs allocation hooks and monitors |
-// allocations and frees. |
-class MemoryWatcher : MemoryObserver { |
- public: |
- struct StackTrack { |
- CallStack* stack; |
- int count; |
- int size; |
- }; |
- |
- typedef std::map<int32, AllocationStack*, std::less<int32>, |
- PrivateHookAllocator<int32> > CallStackMap; |
- typedef std::map<int32, StackTrack, std::less<int32>, |
- PrivateHookAllocator<int32> > CallStackIdMap; |
- typedef std::basic_string<char, std::char_traits<char>, |
- PrivateHookAllocator<char> > PrivateAllocatorString; |
- |
- MemoryWatcher(); |
- virtual ~MemoryWatcher(); |
- |
- // Dump all tracked pointers still in use. |
- void DumpLeaks(); |
- |
- // MemoryObserver interface. |
- virtual void OnTrack(HANDLE heap, int32 id, int32 size); |
- virtual void OnUntrack(HANDLE heap, int32 id, int32 size); |
- |
- // Sets a name that appears in the generated file name. |
- void SetLogName(char* log_name); |
- |
- private: |
- // Opens the logfile which we create. |
- void OpenLogFile(); |
- |
- // Close the logfile. |
- void CloseLogFile(); |
- |
- // Hook the memory hooks. |
- void Hook(); |
- |
- // Unhooks our memory hooks. |
- void Unhook(); |
- |
- // Check to see if this thread is already processing a block, and should not |
- // recurse. |
- bool LockedRecursionDetected() const; |
- |
- // This is for logging. |
- FILE* file_; |
- |
- bool hooked_; // True when this class has the memory_hooks hooked. |
- |
- // Either 0, or else the threadID for a thread that is actively working on |
- // a stack track. Used to avoid recursive tracking. |
- DWORD active_thread_id_; |
- |
- base::Lock block_map_lock_; |
- // The block_map provides quick lookups based on the allocation |
- // pointer. This is important for having fast round trips through |
- // malloc/free. |
- CallStackMap *block_map_; |
- |
- // The file name for that log. |
- std::string file_name_; |
- |
- // An optional name that appears in the log file name (used to differentiate |
- // logs). |
- std::string log_name_; |
-}; |
- |
- |
- |
-#endif // TOOLS_MEMORY_WATCHER_MEMORY_WATCHER_ |