Do not use die to debug
From Joomla! Documentation
Joomla! 1.5 includes the ability to optionally store the user session in the database. In PHP 5, because of the order in which it does things, a connection to the database will be closed before it fires the session handlers.
As a result of this, the common-place practice of using the die( 'test1' ); function will result in a plethora of errors being thrown, similar to the following:
Warning: mysqli_query() [<a href='function.mysqli-query'>function.mysqli-query</a>]: Couldn't fetch mysqli in C:\Apache2\htdocs\www_site\libraries\joomla\database\database\mysqli.php on line 147
or:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'root'@'localhost' (using password: NO) in /var/www/html/libraries/joomla/database/database/mysql.php on line 105
In order to stop execution gracefully, you need to use the following code:
echo 'Test'; $mainframe->close(); /* or use: jexit(); */
If you are developing your own component, you might like to include your own utility function to provide this functionality:
function stop($msg = '') { echo $msg; $mainframe =& JFactory::getApplication(); $mainframe->close(); /* Alternative: echo $msg; jexit(); */ }