[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分开始陆续恢复。对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。
11376 2
|
12月前
|
数据采集 存储 前端开发
使用 rvest 包快速抓取网页数据:从入门到精通
本文介绍了如何使用 R 语言中的 `rvest` 包结合代理 IP 技术,快速抓取新闻网站的数据。以澎湃新闻为例,详细展示了如何配置代理、解析网页结构、提取新闻标题和摘要,并将数据保存为 CSV 文件。通过本教程,读者可以掌握 `rvest` 包的使用方法,提高爬虫抓取效率。
427 6
使用 rvest 包快速抓取网页数据:从入门到精通
|
12月前
|
人工智能 前端开发 算法
主动式智能导购 AI 助手构建方案评测
《主动式智能导购 AI 助手构建方案评测》详细评估了该方案在部署体验、技术原理理解及生产环境应用指导等方面的表现。方案在智能导购领域展现出一定潜力,但文档的详细程度和技术细节的阐述仍有改进空间,特别是在复杂操作和高级功能的指导上。总体而言,该方案具备优势,但需进一步优化以更好地满足企业需求。
248 10
|
机器学习/深度学习 算法 固态存储
深度学习在图像识别中的应用与发展
本文将探讨深度学习在图像识别领域的应用与发展。通过分析深度学习的基本概念、常用模型以及具体案例,揭示其在图像识别中的重要性和未来趋势。我们将详细介绍卷积神经网络(CNN)的原理与结构,并展示如何利用深度学习进行图像分类、目标检测和图像分割等任务。同时,我们还将讨论当前面临的挑战及可能的解决途径。希望通过这篇文章,读者能够对深度学习在图像识别中的应用有一个全面而深入的了解。
|
存储 运维 安全
什么是 802.1x?
【8月更文挑战第24天】
633 0
|
开发框架 数据安全/隐私保护 Android开发
iOS二维码的生成和扫码详细介绍(手把手教)
iOS二维码的生成和扫码详细介绍(手把手教)
988 0
|
编解码 UED iOS开发
苹果mac系统音频播放软件哪个好一点
在苹果mac系统上,有许多不同的音频播放软件可供选择,这些软件各有优点和适用场景。下面将为您详细介绍每一个软件,帮助您找到最适合您的音频播放器。
773 1
苹果mac系统音频播放软件哪个好一点
|
小程序
阿里云软著价格表
阿里云软著价格表2023,阿里云计算机软件著作权登记分为普通登记、加急登记、顾问登记和安心登记,普通登记费用359元全程线上申请阿里云完成初审;加急登记1080元,版权中心审查周期20-30工作日,有专属助手提供一对一解答;顾问登记价格1440元,专业顾问负责整理填报资料;安心登记1980元,补正不通过可退全款。阿里云百科分享阿里云计算机软件著作权登记费用价格、不同版本区别以及选择方法:
1071 1
阿里云软著价格表
|
前端开发 容器
MvvmLight入门教程
MvvmLight是一款应用广泛的MVVM框架
503 0
|
Windows
Typora v1.2.4 (Windows)破解!亲测有效!
Typora v1.2.4 (Windows)破解!亲测有效!
891 0
Typora v1.2.4 (Windows)破解!亲测有效!