29 lines
		
	
	
		
			519 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			519 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								usage() {
							 | 
						||
| 
								 | 
							
								    echo -e "Usage :"
							 | 
						||
| 
								 | 
							
								    echo -e "   $0 [log file] [out file]"
							 | 
						||
| 
								 | 
							
								    echo -e "   log file: error dump log file"
							 | 
						||
| 
								 | 
							
								    echo -e "   out file: .out execute file"
							 | 
						||
| 
								 | 
							
								    echo -e ""
							 | 
						||
| 
								 | 
							
								    echo -e "example:"
							 | 
						||
| 
								 | 
							
								    echo -e "   $0 stack.txt ht_cco.out"
							 | 
						||
| 
								 | 
							
								    echo -e ""
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ ! -n "$1" ]; then
							 | 
						||
| 
								 | 
							
								    usage
							 | 
						||
| 
								 | 
							
								    exit
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ ! -n "$2" ]; then
							 | 
						||
| 
								 | 
							
								    usage
							 | 
						||
| 
								 | 
							
								    exit
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								STACK_FILE=$1
							 | 
						||
| 
								 | 
							
								OUT_NAME=$2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tail -n 1000 $STACK_FILE | awk '{print $2}' | grep "0x[0-9A-Fa-f]*" | \
							 | 
						||
| 
								 | 
							
								xargs riscv64-unknown-elf-addr2line -f -e $OUT_NAME
							 |