问题
The question speaks for itself but I will try to clarify more. after make my http request through the app to connect a local databse
JSONObject json = jsonParser.makeHttpRequest(urlCreate,
"POST", params);
the return of json is being null; this throws a fatal error, crashs my app and it doesnt feeds me back about where or what exactly is the error through the request. I think the error is inside the php file being called with the "urlCreate" parameter, so how can I track and debug the php file inside eclipse when its being called through an android app?
回答1:
Yes, there is a way to do this.
Inside your parser (Json parser in my case which was defined inside JSonparser.java), as default, you are probably going to have this code:
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
As you can see here is where you http request is made (in this case a post one). Now what you need to do is after those lines create one logcat feedback, a response feedback to be more specific:
String all=EntityUtils.toString(httpEntity);
Log.d("Response",all);
Now, open the logcat [ Window -> Show View -> Other -> Android -> Logcat] and add a new filter on the plus button. On the screen thats gonna pop up type Anything you want as Filter name (in my case as u can see its already Response) and as Tag give the same name u gave at Log.d("Response",all);
.

Run you application and you will see that when you call the connection with the database, some php moves that can cause errors (such as connection request) will come up in this filter. For example the last error log I received was:
03-23 14:26:06.611: D/Response(1270): <br />
03-23 14:26:06.611: D/Response(1270): <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\android_connect\db_connect.php on line <i>28</i></th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0003</td><td bgcolor='#eeeeec' align='right'>143616</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>0</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150200</td><td bgcolor='#eeeeec'>DB_CONNECT->__construct( )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>20</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150216</td><td bgcolor='#eeeeec'>DB_CONNECT->connect( )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>11</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>150832</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysql-connect' target='_new'>mysql_connect</a>
03-23 14:26:06.611: D/Response(1270): ( )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>28</td></tr>
03-23 14:26:06.611: D/Response(1270): </table></font>
03-23 14:26:06.611: D/Response(1270): Access denied for user 'root'@'localhost' (using password: YES)<br />
03-23 14:26:06.611: D/Response(1270): <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_close(): no MySQL-Link resource supplied in C:\wamp\www\android_connect\db_connect.php on line <i>42</i></th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0003</td><td bgcolor='#eeeeec' align='right'>143616</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>0</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150200</td><td bgcolor='#eeeeec'>DB_CONNECT->__construct( )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>20</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150216</td><td bgcolor='#eeeeec'>DB_CONNECT->connect( )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>11</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0110</td><td bgcolor='#eeeeec' align='right'>146960</td><td bgcolor='#eeeeec'>DB_CONNECT->__destruct( )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>0</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>5</td><td bgco
One tip is to export and save this log as one html file to get a better view of whats going on.

来源:https://stackoverflow.com/questions/22592716/is-there-a-way-to-debug-a-http-request-through-an-android-app-inside-eclipse