MULTI
Integrated Development Environment
嵌入式开发人员依赖的调试工具
经过三十多年的用户使用和不断的改进,MULTI-IDE在嵌入式软件行业是难以超越的。开发人员可以依赖MULTI来生成高质量的代码,并使他们的设备更快地推向市场。MULTI可以查找一个很难找到的错误,解决内存泄漏,还可以优化系统性能。
显著提高生产率
MULTI的调试和可视化工具使软件工程师能够显著提高他们的调试效率,两个直接的好处:
▲ 一个更可靠的设备,当你更快地发现错误时,你可以修复更多的错误
▲ 降低开发成本,减少调试时间,更快地将优异产品推向市场
通过使用Green Hills工具,你可以:
▲ 更快地修复bugs
Green Hills 软件的 MULTI 调试器是市场上优异的C/C++调试器。
▲ 自动查找bugs
静态分析和运行时错误检查会自动捕获可能未被注意到的Bug。
▲ 帮助理解复杂系统
我们的工具提供了整个系统的可伸缩视图,从包罗万象的整体层次到寄存器中的每一位和每一条机器指令。
▲ 预防新问题
干净的编码约定可以防止您用过于复杂的代码引入新的Bug。
▲ 可以花更多的时间用于开发设计
一个简单的构建配置和无缝集成的工具可以让您节省更多的开发时间。
更快地修复Bugs
我们革命性调试器的每个功能都旨在快速解决困扰传统工具的问题。 跟踪任务间损坏,错过的实时需求和外部硬件事件等问题通常需要数周或数月的时间。 Green Hills Software的TimeMachine工具套件可帮助您在数小时甚至数分钟内解决相同的问题。一位客户使用TimeMachine工具套件仅花费了两个小时修复了一个错误,而之前他们花了两个月的时间。
TimeMachine工具套件自动捕获程序执行数据,结合多调试器接口和创新的回放调试功能。调试时在TimeMachine中,您可以向前和向后单步执行、运行和调试代码,以查明问题的根源。
在TimeMachine捕获的任何时刻,您都可以:
▲ 在源级别调试任务交互
▲ 使用强大的执行和数据断点来查找特定的数据点
▲ 检查RTOS数据结构
▲ 调试虚拟内存应用程序
作为TimeMachine工具套件的重要组成部分, PathAnalyzer可以提供一段时间内应用程序调用堆栈的视图。它可以帮助您快速确定代码从预期路径转移的位置,以及跟踪由意外中断等事件引起的异常Bug。您可以在较高的层次上检查执行流,或者放大以查看单独的函数调用。
在使用PathAnalyzer几秒钟后,一位客户发现了一个存在三个月的bug,该bug经常导致其目标挂起。问题是:偶尔在启动代码的关键部分触发中断。由于该错误很少出现,因此无法通过常规调试方法捕获该错误。 在PathAnalyzer的帮助下,找到它很简单。
PathAnalyzer 使复杂的系统执行流程易于理解,从而使您能够更快地发现错误。
自动查找错误
DoubleCheck, 是Green Hills集成的静态分析仪,它允许您甚至在运行程序之前就识别编程错误,从而节省了您的时间和成本。由于DoubleCheck是Green Hills优化编译器的一部分,因此无需设置成本启用它。只需设置一个选项, DoubleCheck 每次编译时都会检查源代码。 此外,DoubleCheck的运行速度比传统的静态分析工具快得多,这意味着每个开发人员都可以一直使用它。
DoubleCheck比传统的代码检查更可靠,可以发现在常规系统测试中可能永远不会出现的错误。一位客户报告说:“我们在DoubleCheck上使用了代码库,发现了一些潜在的问题。我们今天花了一部分时间来修复它,得到了一个100%干净的编译。”
Run-time error checking通过查找无法单独通过静态分析识别的错误来补充DoubleCheck。尤其是令人发指的bug在失败之前很长一段时间都保持沉默。通过运行时错误检查,可以在发生问题时提醒您。直接查看错误时,修复它很简单。
运行时错误检查可识别一些问题,比如指针的无效内存访问、超出范围的值分配、switch语句中未处理的情况以及被除零的问题 。
了解复杂系统
当了解系统状态所需的信息唾手可得时,调试复杂的系统就变得更加简单。我们以直观的方式显示重要的系统信息,以帮助您更快地发现问题:
▲ OSA Explorer提供了有关内核对象,任务和资源状态的完整视图。
▲ 调试器允许完整的事后应用程序调试,包括遍历堆栈,浏览对象以及查看内存和寄存器。
▲ EventAnalyzer会显示系统事件的时间线,时间间隔仅相隔微秒。
多核同步运行控制
Green Hills Software是较早为多核调试提供探针和调试器解决方案的公司之一。 MULTI 提供的性能使得调试多核系统就像调试单核系统一样简单。
这些特性的关键是同步运行控制,即当任何内核遇到调试机会时,将以一个单元的形式停止所有内核。例如,当内核达到断点时,目标列表将清楚的显示:
▲ 哪些内核达到了断点
▲ 当前在内核中执行的是什么线程
▲ 系统中的其他内核在做什么
将代码下载到多核目标可能是一个复杂而繁琐的过程. MULTI将自动处理完整下载过程。对于其他类型的操作系统和应用程序,可以使用简单的配置文件来自动执行下载和设置的过程。

首页 > 产品中心 > MULTI-IDE