mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-04 09:01:50 +01:00 
			
		
		
		
	
		
			
	
	
		
			34 lines
		
	
	
		
			755 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			755 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 *  Created by Martin on 12/07/2017.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  Distributed under the Boost Software License, Version 1.0. (See accompanying
							 | 
						||
| 
								 | 
							
								 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 #include "catch_leak_detector.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace Catch {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef CATCH_CONFIG_WINDOWS_CRTDBG
							 | 
						||
| 
								 | 
							
								#include <crtdbg.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									LeakDetector::LeakDetector() {
							 | 
						||
| 
								 | 
							
										int flag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
							 | 
						||
| 
								 | 
							
										flag |= _CRTDBG_LEAK_CHECK_DF;
							 | 
						||
| 
								 | 
							
										flag |= _CRTDBG_ALLOC_MEM_DF;
							 | 
						||
| 
								 | 
							
										_CrtSetDbgFlag(flag);
							 | 
						||
| 
								 | 
							
										_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
							 | 
						||
| 
								 | 
							
										_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
							 | 
						||
| 
								 | 
							
										// Change this to leaking allocation's number to break there
							 | 
						||
| 
								 | 
							
										_CrtSetBreakAlloc(-1);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    LeakDetector::LeakDetector(){}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |