[J2ME Q&A]真机报告MontyThread -n的错误之解释

简介:

[友情提示]

首先你需要告诉大家,测试的真机是哪一款手机,比如Nokia6600,据我所观察,好像这种错误在Nokia6600上发生的比较多;

其次,你可以通过代码调试得知发生此错误的时候,你的代码在做哪方面的执行,比如HttpConnection联网?比如用GraphicsDrawRegion?还是在关闭整个应用程序的时候?

 

我们总结一下:

[When]

Nokia的几款机器,用了Monty/Monte Virtual Machine

MontyThread的错误,一般是VM报告的错误,我们猜测当时VM正准备关闭一个或多个正处于活动状态的Thread

所以有时候你看到应用程序MIDlet被关闭后,隔了一小会儿,突然报告一个MontyThread的错误,这可能是因为你的某一个线程处于阻塞状态,而正在被试图强行关闭。

另外一种情况是,使用JSR135(Mobile Media API[MMAPI])并用错误的编码器在错误的音频流上,也会导致MontyThread异常错误。

[HowTo]

你知道那句名言的,J2ME的那句,“write once, debug everywhere”

So,尽量在真机上用Alert来反复进行二分法测试,寻找到异常是从哪里抛出来的。

尽量确定你自己创建的线程能否自己优雅地结束,而不需要VM强制关闭。

 

[参考]

实际上,您可以在《WhatJavaDevelopersNeedToKnowSymbian OS v7 - Functional description》找到一个相关的错误解释:

Program MontyThread -8

Reason code KERN-EXEC

Reason number 3

 In this case the Panic originates from “MontyThread”which is the VM thread with identifier 8. The Panic has been detected by the Kernel Executive, which has terminated the associated process. The reason for the Panic is indicated by the number 3. In this example to quote the SDK documentation “This panic is raised when an unhandled exception occurs. Exceptions have many causes, but the most common are access violations caused, for example, by dereferencing a NULL pointer. Among other possible causes are: general protection faults, executing an invalid instruction, alignment checks, etc.

但是至于更常见的MotyThread -9-6,则没有解释。

我们尝试在《Error Resolution on Symbian OS》中找到相应的错误,比如

KErrBadHandle

-8

"Bad object"

也许和上面所说的“access violations caused”似乎有点像。当然这仅仅是猜测,SymbianOS的错误号可能和MontyThread后面跟的错误号意思不一样。

不管怎么样,我们试图把二者联系到一起:

KErrOverflow

-9

"Overflow"

,如果你看到MontyThread -9的错误,会不会是因为你的程序占用了过多的内存?

KErrArgument

-6

"Bad request"

,如果你看到MontyThread -6的错误,会不会是因为你的程序用了platformRequest来调用真机上不支持的功能了呢?

目录
相关文章
|
运维 测试技术
6月27日阿里云故障说明
6月27日下午,我们在运维上的一个操作失误,导致一些客户访问阿里云官网控制台和使用部分产品功能出现问题。故障于北京时间2018年6月27日16:21左右开始,16:50分开始陆续恢复。对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。
11472 2
|
存储 算法 计算机视觉
10 OpenCV图像识别之人脸追踪
级联分类器的核心思想是使用多个分类器级联,每个分类器负责检测不同的特征,逐步排除不可能是目标的区域,从而减少计算量和误检率,提高检测效率。级联分类器通常由多个弱分类器组成,这些弱分类器的输出被级联在一起形成强分类器,因此级联分类器也被称为“弱分类器的级联”。
|
人工智能 达摩院 语音技术
用1张图像生成数字人,快来制作你的AI视频吧~
最近魔搭上线了一项新能力——仅需输入单张人像照片,利用文字或语音驱动即可秒级生成数字人AI视频!这让小编的短视频UP梦又重新启航燃起了希望!它完全解救了社恐星人,图生视频能力替你说话、唱歌、讲段子、吟诗....无需再对着摄像头NG,一整个绝绝子叠buff!
用1张图像生成数字人,快来制作你的AI视频吧~
|
存储 SQL 关系型数据库
GIS系统中WKT、SRID、EPSG概念解析
之前一直对WKT、EPSG、SRID不是很理解,总是混淆,今天看了一下,清晰了很多,顺便总结一下。
972 0
|
SEO
谷歌搜索留痕的技术公式【2023年新版】
一般情况下我们是不建议个人搭建的,因为成本很高,而且技术成本和维护成本也对谷歌的SEO机制要有一定的熟悉。
695 0
谷歌搜索留痕的技术公式【2023年新版】
|
Kubernetes Shell 定位技术
Arcgis打包到docker,重启容器后发布的服务丢失解决方案。
Arcgis打包到docker,重启容器后发布的服务丢失解决方案。
564 0
|
存储 算法 搜索推荐
【排序算法】冒泡排序、简单选择排序、直接插入排序比较和分析
本文简单介绍了冒泡排序、简单选择排序、直接插入排序,并对这三种排序进行比较,入参都是80000个随机数,比较算法耗时。进一步,我们通过代码分析三种排序算法的性能。
【排序算法】冒泡排序、简单选择排序、直接插入排序比较和分析
|
新零售 存储 人工智能
复盘|数字化转型,鲁商集团从数据中台“下手”
从2019年确定转型方向到今天,鲁商集团真切地感受到了数据中台搭建完成后,对企业管理多层面的提升。对鲁商集团而言,数据中台的搭建,好比夯实数字化转型的基础,下一步才是转型的目标:利用数据中台释放出来的数据能力,反哺到各业务条线。
993 0
复盘|数字化转型,鲁商集团从数据中台“下手”