symbian 开发常见错误代码及原因总结

From : http://www.devdiv.net/blog/space.php?uid=19185&do=blog&id=1056

 

KERN-EXEC 0 此错误通常出现在进程或线程使用已经销毁服务对象句柄,如调用了某个对象的Close()方法而继续使用此对象句柄
KERN-EXEC 3 此错误在好多情况下都会产生,最常见的情况通常是由于你使用了空指针,比如在对象没有创建的情况下使用其成员变量或方法
USER 11 内存越界 通常情况下是由于你没有给你的数据分配足够的缓冲区造成的。
USER 130 数组越界,如果你访问的RArray 或RPointerArray 数组下标超过了数组长度则会出现此错误
USER 29 此错误大都是因为对描述符取子串操作索引越界所致
USER 42 此错误通常是由于内存非法访问,比如访问指向无效内存的指针。我通常在调试dll的时候出现此错误,主要是没有执行Freeze由于dll修改。依赖dll主程序没有重写编译。函数访问地址出现错误
E32USER-CBase 71 通常情况下出现此错误由于CleanupStack::PushL() 和 CleanupStack::Pop()不匹配引起的,比如调用了CleanStack::PushL() 而忘记调用 CleanStack::Pop()
E32USER-CBase 63 此错误对应于E32USER-CBase 71 也是由于CleanupStack::PushL() 和 CleanupStack::Pop()不匹配引起的,你可能是过多的调用了CleanStack::Pop()
Avkon 59 在s60 2nd中构造一个视图时 不调用BaseConstructL();不会出现异常,移植到s60 3rd 如果不调用BaseConstructL();系统会提示此错误
关于错误代码 -46 第三版中调用未授权或不可用的服务通常会返回 -46的错误
错误代码 cone -8 通常是由于窗口资源没有释放引起的。确认在程序推出后清除了创建窗口的控件
CONE 44 发生此错误可能是由于你在销毁控件的时候,忘记调用 RemoveFromStack() 移除响应事件的控件。
在CEikRichTextEditor中使用RichText()→Reset()对文本清空以后执行如插入文本等操作时出现ETEXT 12的错误。

问题分析:

ETEXT 12 在panic文档中的描述为ECharPosBeyondDocument,因此是插入文本时由于光标的位置越界造成的。执行RichText()→Reset()以后文本被清空了,但是光标位置却仍然停留在原来的位置,系统并不会自动回到0位置。

解决方案:

必须调用如下两句手动的把光标位置设为0就可以了

iRichTextEditor->HandleTextChangedL();
iRichTextEditor->SetCursorPosL(0, EFalse

cone 14     Environment cannot find the specified resource in any resource file ,资源文件出错了。肯能是资源文件读得不正确。

在平时的软件开发中,其实我们常见的错误也就那么几个,这里我吧自己常见的错误列出来:

USER 10 描述符的下标超过其实际的长度。如:HBuf<10>text; text.Mid(11);

USER 11 在append或者是copy的时候,目的描述符的长度不够长。

USER 42 删除一个并不存在的对象,通常是这种情况:如你有两个指针指向了同一个对象,当你同时将这两个指针删除的时候,就会出问题。还有一种比较常见的情形是在使用一些会将所有权转移的数组(如RPointArray)的时候,比如我new

一个对象temp,然后append到RPointArray中,之后,我又将temp删除,那么在最后,释放RPointArray的时候就会出现USer42的错误。因为temp指向的对象的所有权已经转向了数组。

USER 130 使用数组时下表超过数组的最大允许的个数。

KEXE 3 控制针的情况,这个是非常常见的了,大家都知道是什么情况。其实,如果你的程序要加载一些库,如果这些库没有的话,有事也会出现空指针的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值