安卓开发之调试程序

一、DDMS中LogCat(这样就能调试程序了)

代码下方显示LogCat,windows/show view/other选中logcat点击ok就会在代码下面显示logcat窗口

  1. 添加过滤器

Logcat Message Filter Settings

Filter Name自定义

by Log Tag就是匹配内容(比如:System.out)这样就过滤出带有这样的内容会显示在日志中

by Log level是错误级别(一般选择全部verbose)

  1. 查看异常Error

其中android开头是android内部包,com开头的也是内部的,java也是自带的,dalvik是虚拟机的包。所以只用看你自己的包error就可以了

二、DDMS中File Explorer(这样电脑的文件和虚拟机文件就可以互通了)

1.添加文件到AVD中

push a file onto the device

2.从AVD中导出文件到电脑中

pull a file from the device

二、使用Log调试

Log类中带有verbose、debug、info、warn、error、assort等方法(分别用首字母表示)

 

调试小技巧file_put_contents() 和var_export以及var_dump

file_put_contents() 函数把一个字符串写入文件中。
我们要将数组打印到文件中,我们可以使用
<?php
$arr = array(
‘a’ => array(1,2,3),
‘b’ => array(‘b’,’c’,’d’)
);
$log = var_export($arr, true);
file_put_contents(“/var/www/study/temp.log”,$log);
?>
这样在/var/www/study/文件夹下会有temp.log文件,内容为
array (
‘a’ =>
array (
0 => 1,
1 => 2,
2 => 3,
),
‘b’ =>
array (
0 => ‘b’,
1 => ‘c’,
2 => ‘d’,
),
)
注意一定要能让web可以写入文件夹,二期var_export必须要带上true参数,这样才能把数组转成字符串.
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
EG:
var_export(array(‘a’,’b’,array(‘aa’,’bb’,’cc’))) 这种与VAR_DUMP没什么区别;

$var =var_export(array(‘a’,’b’,array(‘aa’,’bb’,’cc’)),TRUE),加上TRUE后,不会再打印出来,而是给了一个变量,这样就可以直接输出;
echo $var;此时输出来的形式与var_dump()打印的相似。

C常见错误提示[间断更新]

1.error: lvalue required as left operand of assignment

表达式中的=号左边应该有个运算符(或者变量)
提示:这样错误提示可能是判断中的==写成了=

2.error: invalid suffix “n” on integer constant
提示:这样的错误有可能是你把3*n写成了3n

3.error: ‘min’ undeclared(first use in this function)
提示:这样的错误可能好似你没有声明min变量