関数の呼び出しもと
関数の呼び出しもとを取得するのはarguments.callee.caller
正規表現は[]を使っても機能しなかった。
×  replaced=replaced.replace(/{[.\n]*}/, '');
var test3=function()では無名関数を変数に代入することになるので、変数名は取得できないらしい。
 
サンプル
コード
<script type="text/javascript">
function test1(){
	debug();
}
function test2(){
	debug();
}
var test3=function(){
	debug();
}
var test4=test1;
function debug(){
	var caller=arguments.callee.caller;
	var replaced=caller.toString();
	replaced=replaced.replace(/{(.|\n)*}/, '');
//	var reg=new RegExp('{(.|\n)*}','');
//	replaced=replaced.replace(reg, '');
	document.getElementById('output').innerHTML='<pre>caller:\n'+caller+'</pre>' +
	                                            '<pre>replaced:\n'+replaced+'</pre>';
}
</script>
<input type="button" value="test1" onclick="test1();">
<input type="button" value="test2" onclick="test2();">
<input type="button" value="test3" onclick="test3();">
<input type="button" value="test4" onclick="test4();">
<div id="output"></div>