首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 227 毫秒
1.
随着问题规模的增大和对实时性要求的提高,SIMD向量处理器尤其是带有向量运算单元的处理器在业界得到广泛应用。处理器上程序的运行状态一般由编译器通过堆栈进行管理。已有编译器堆栈设计机制在SIMD体系结构中严重影响了整个应用程序的运行性能。根据SIMD体系结构特点,提出了一种高效分布式堆栈设计方法——HEDSSA。实验结果表明,HEDSSA堆栈使得应用程序在进行局部数据访问、函数调用、发生中断以及动态分配数据时能够以更高的效率访问堆栈数据。  相似文献   

2.
嵌入式软件中基于栈的错误追踪机制设计   总被引:1,自引:0,他引:1  
嵌入式软件大都采用C语言开发,存在着调试困难、不易查错的特点。本文针对嵌入式C语言的编程特点,设计了一种基于堆栈模式的错误追踪机制,并论述了其具体实现方法,包括错误代码定义、错误处理堆栈设计及错误异常的描述方法,给出了详细代码。本方法已经在多个实际嵌入式产品开发中得到应用。  相似文献   

3.
本文分析了Linux远程调试技术,通过开发机上的gdb对目标机上的内核以及应用程序进行源代码级的调试技术,分析了启动内核调试的方法和异常处理程序的实现。  相似文献   

4.
来稿摘登     
<正> 本文提出了一种在不具有高级语言调试能力的单片机仿真器上,利用高级语言进行编程调试的方法.该方法充分利用高级语言编程方便的优点,并能充分利用这些早期的不具有高级语言调试能力的单片机仿真器,具有简单实用,经济有效等特点.早期的单片机仿真器只能用汇编语言编程并调试应用程序.本文在分析开发器原理、特点基础上,提出了一种解决方法,从而不必更新早期的单片机开发器,直接利用高级语言编写应用程序,并经本文提供的转换程序,将应用程序编译转换为适合于这类早期的开发器的格式,再在这些开发器上进行调试.按上述思路,本文用Turbo C2.0编制了转换程序AHTO.C.程序在IBM PC及其兼容机上调试通过,并在TF—MCS—51开发器上用C51编写应用程序进行调试通过.  相似文献   

5.
王方良  汤文成 《微机发展》2007,17(1):128-129
异常处理是程序开发的一个重要内容,异常处理的好坏关系到程序的友好程度和系统的稳定性。C 是一种纯面向对象的编程语言,其异常处理机制和普通的编程语言有很多不同的地方,有力地增强了C 程序的健壮性和容错性。文中从介绍其运行步骤入手,通过一个简单的例子,详细阐述了C 异常处理机制的规则和栈展开技术,并扼要地对比了函数调用和异常处理的异同点,以便更好地在C 面向对象程序设计中正确使用异常处理机制。  相似文献   

6.
在应用程序的开发过程中,观察、调试并处理程序运行的错误是一个很重要的问题。由C++ Builder开发的应用程序通过异常处理机制可以发现大部分的运行错误,但并非所有的错误都可以被发现,有些错误往往是无法控制的,甚至是无法预见的。因此,我们需要掌握异常处理的机制,以增强程序的异常处理能力,目的是使应用程序更加完善和健壮,并且能够提高程序的开发效率。  相似文献   

7.
用Borland C++设计Windows下的高级多媒体应用程序时,动画的制作是比较复杂的,一般可用下列三种方法实现动画的制作与播放。 (1)用Borland C++编写代码实现位图动画。 (2)通过Windows的MCI接口播放外部制作好的动画文件。 (3)用Windows的API函数调用外部的动画播放程序播  相似文献   

8.
异常处理是程序开发的一个重要内容,异常处理的好坏关系到程序的友好程度和系统的稳定性。C++是一种纯面向对象的编程语言,其异常处理机制和普通的编程语言有很多不同的地方,有力地增强了C++程序的健壮性和容错性。文中从介绍其运行步骤入手,通过一个简单的例子,详细阐述了C++异常处理机制的规则和栈展开技术,并扼要地对比了函数调用和异常处理的异同点,以便更好地在C++面向对象程序设计中正确使用异常处理机制。  相似文献   

9.
在Visual C++6.0环境下,利用Windows 98操作系统的多线程技术和Win 32应用程序接口(API)开发串行通信程序.给出以定点DSP芯片ADSP-2181为核心的数字语音记录仪和PC机通信程序实例,编写并调试通过了所有程序.  相似文献   

10.
(1)程序编译:Delphi2.0拥有32位优化本地代码编译器。它提供了像C 语言编写的应用程序一样的可直接运行的性能,产生独立运行的EXE文件,而不必链接DLL。Delphi2.0应用程序的运行速度是伪编译代码应用程序的15~50倍。它提供了单步跟踪、断点设置、变量检查窗口等调试功能,此外,还提供了线程检查、构件列表、堆栈监测等工具,这些测试程序代码的功能大大缩短了程序的编制周期。  相似文献   

11.
Core Dump漏洞影响kernal2.6.13-2.6.17.3的多款Linux操作系统,它可以引发拒绝服务攻击和本地权限提升攻击,危害巨大。恶意进程使用prctl系统调用,通过故意制造Core Dump,可以旁路操作系统安全控制,攻击系统。通过劫持prctl系统调用,对发起系统调用的进程进行行为监视,进而检测攻击,可以有效地阻止和防御攻击的发生。把防御程序编译为可动态插入内核的模块,能在多款受影响的系统上稳定高效地运行。  相似文献   

12.
David H. Hanson 《Software》1978,8(2):115-129
An event association facility for the SNOBOL4 programming language is described. This facility permits the execution of a programmer-defined function to be associated with the occurrence of a specified event. The events with which associations can be made are those applicable to program debugging. Associations can be made with events such as variable referencing, statement execution, program interruption, function call and return, and execution-time errors. By making event associations available at the source-language level, debugging aids can be written in SNOBOL4 itself, using the full capabilities of that language. As illustrated by several examples, this approach facilitates the implementation of simple yet powerful debugging aids written in the same language as the programs to be debugged. Event associations provide a mechanism for the unification of the existing SNOBOL4 debugging facilities, and a basis for the addition of other events. The implementation of event associations is also described.  相似文献   

13.
Armando B. Matos 《Software》1994,24(8):729-746
In Prolog the flow of control is relatively complex; four counts (which we call currents)—call, fail, succeed and redo—and two intrinsic properties—the failure and the ‘alternative’ probabilities—can be associated with every literal in a clause body. In this work we describe a new matrix model where those currents and properties are related at the literal, clause and predicate definition levels. This model is useful for predicate classification, execution profiling and program debugging. The application to profilers is discussed in detail.  相似文献   

14.
本文介绍了Linux Crash Dump的设计与实现方法。Linux Crash Dump提供了一种保存系统发生Crash时内存映象的能力。通过对Dump结果的分析,可以有效地帮助诊断系统出错的原因。本文介绍了如何进行Crash Dump,以及Dump的数据的组织和保存方法等。  相似文献   

15.
Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task remains complex and difficult. Other than breakpoints and tracing, these tools provide little high-level help. Programmers must perform many tasks manually that the tools could perform automatically, such as finding which statements in the program affect the value of an output variable for a given test case, and what was the value of a given variable when the control last reached a given program location. If debugging tools provided explicit support for these tasks, the debugging process could be automated to a significant extent. In this paper we present a debugging model, based on dynamic program slicing and execution backtracking techniques, that easily lends itself to automation. This model is based on experience with using these techniques to debug software. We also present a prototype debugging tool, SPYDER, that explicitly supports the proposed model, and with which we are performing further debugging research.  相似文献   

16.
Linux已经成为操作系统行之中的重要力量,在Linux系统下,进行C语言编程,需要一定技巧。文中从源程序编译、Makefile的编写、程序库的创建、程序的调试和系统求助等方面展开探讨。  相似文献   

17.
OpenSmalltalk-VM is a virtual machine (VM) for languages in the Smalltalk family (eg, Squeak and Pharo), which is itself written in a subset of Smalltalk that can easily be translated to C. VM development is done in Smalltalk, an activity we call “simulation.” The production VM is then derived by translating the core VM code to C. As a result, two execution models coexist: simulation, where the Smalltalk code is executed on top of a Smalltalk VM, and production, where the same code is compiled to an executable through a C compiler. The whole VM execution can be simulated: the heap is represented as a huge byte array, the VM code is executed as Smalltalk, and the native code generated by the just-in-time (JIT) compiler is executed by a processor simulator. All the Smalltalk development tools, such as the debugger, are then available while simulating. In addition, in simulation, it is also possible to use debugging features such as single stepping in the machine code generated by the JIT compiler. The Smalltalk development tools combined with the simulation debugging features provide developers with a productive environment in which to extend and debug the VM. In this article, we detail the VM simulation infrastructure and report our experiences developing and debugging VM features within it such as the garbage collector and the JIT compiler.  相似文献   

18.
Program errors are hard to find because of the cause-effect gap between the instant when an error occurs and when the error becomes apparent to the programmer. Although debugging techniques such as conditional and data breakpoints help in finding errors in simple cases, they fail to effectively bridge the cause-effect gap in many situations. This paper proposes two debuggers that provide programmers with an instant error alert by continuously checking inter-object relationships while the debugged program is running. We call such tool a dynamic query-based debugger. To speed up dynamic query evaluation, our debugger implemented in portable Java uses a combination of program instrumentation, load-time code generation, query optimization, and incremental reevaluation. Experiments and a query cost model show that selection queries are efficient in most cases, while more costly join queries are practical when query evaluations are infrequent or query domains are small. To enable query-based debugging in the middle of program execution in a portable way, our debugger performs efficient Java class file instrumentation. We call such debugger an on-the-fly debugger. Though the on-the-fly debugger has a higher overhead than a dynamic query-based debugger, it offers additional interactive power and flexibility while maintaining complete portability.  相似文献   

19.
提出了一种利用LinuxCrashDump以及对Dump的分析来进行Linux系统调试的方法。着重描述了在目前Linux系统中添加CrashDump功能的方法和LinuxCrashDump分析工具的具体实现方案。  相似文献   

20.
目的 在调试C/C++图像处理程序时,如何以可视化的形式观察被调试程序中的图像变量,对于调试过程尤为关键。目前尚未有跨多操作系统平台的图像可视化调试器可供使用,该款开源跨平台的图像可视化调试器的设计与实现弥补了此领域的不足。方法 利用GDB(GNU debugger)调试器的Python接口,将被调试程序中的图像变量对应的内存字节序列转化成Python下的2维数组,并采用Matplotlib库加以显示,整个图像显示线程独立于GDB的文本字符交互主线程。结果 在Windows、Linux、Mac系统中分别进行实验,均可实现图像变量的显示、缩放、平移、像素数值查看、保存等多种功能,并使得GDB的命令行保持非阻塞模式运行。结论 开源跨平台的图像可视化调试器的设计,满足了不同操作系统平台下图像程序的开发调试需求,弥补了当前GDB调试图像程序功能的不足,提高了图像处理程序的开发和调试效率。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号