mirror of
				https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
				synced 2025-11-02 04:53:24 +00:00 
			
		
		
		
	E.g. to analyze the subscr_get/subscr_put behavior one can place the generate_backtrace into the functions, recompile and then filter the output with contrib/bt.py to get the function name, file and line.
		
			
				
	
	
		
			34 lines
		
	
	
		
			636 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			636 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python
 | |
| 
 | |
| import os
 | |
| 
 | |
| f = open("unbalanced")
 | |
| lines = []
 | |
| for line in f:
 | |
|     lines.append(line)
 | |
| 
 | |
| filenames = {}
 | |
| 
 | |
| output = []
 | |
| for line in lines:
 | |
|     if "[0x" in line:
 | |
|         start = line.find("[")
 | |
|         end = line.find("]")
 | |
|         addr = line[start+1:end]
 | |
|         try:
 | |
|             file = filenames[addr]
 | |
|         except KeyError:
 | |
|             r = os.popen("addr2line -fs -e ./bsc_hack %s" % addr)
 | |
|             all = r.read().replace("\n", ",")
 | |
|             file = all
 | |
|             filenames[addr] = file
 | |
| 
 | |
|         line = line.replace(addr, file)
 | |
|     output.append(line)
 | |
| 
 | |
| g = open("unbalanced.2", "w")
 | |
| g.write("".join(output))
 | |
| 
 | |
| 
 | |
| 
 |