转自:http://blog.163.com/hair_communication/blog/static/20198911920124145414945/

只是作者好像也是转来的,原来出处好像是百度上的,现在已经不存在了。

Matlab的调试总体分为,直接调试和间接调试。
1.直接调试:
(1)去掉句末的分号;
(2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件;
(3)适当地方添加输出变量值的语句;
(4)添加keyboard命令;

2.工具调试:
1.)以命令行为主的调试:
(1)设置断点:

    • dbstop in mfile:在文件名为mfile的M文件第一个可执行语句前设断点;
    • dbstop in mfile at lineno:在mfile的第lineno行设断点;
    • dbstop in mfile at subfun:当程序执行到子程序subfun时,暂时中止执行,并设断点;
    • dbstop if error:遇到错误时,终止M文件运行,并停在错误行(不包括try...catch语句中检测到的的错误,不能在错误后重新开始运行);
    • dbstop if all error:遇到任何类型错误均停止(包括try...catch语句中检测到的的错误);
    • dbstop if warning:程序可恢复运行;
    • dbstop if caught error:当try...catch检测到运行时间错误是,停止M文件执行,可恢复运行;
    • dbstop if naninf 或 dbstop if infnan
    • (2)断点清除:
    • dbclear all:清除所有M文件中的所有断点;
    • dbclear all in mfile:清除文件名为mfile的文件中的所有断点;
    • dbclear in mfile:清除文件名为mfile中第一个可执行语句前的断点;
    • dbclear in mfile at lineno:
    • dbclear in mfile at subfun:
    • dbclear if error/warning/naninf/infnan:
    • (3)恢复运行:
    • dbcount:从断点处恢复程序的执行,直到下一个断点或错误后返回Matlab基本工作空间;
    • (4)调用堆栈:
    • dbstack:
    • 1.)dbstack(N)
    • 2.)dbstack('-completenames')
    • (5)列出所有断点:
    • dbstatus
    • s=dbstatus:返回值为M×1结构体
      其中字段:
      name-函数名;
      line-断点行向量;
      expression_r-与line中相对应的断点条件表达字符串;
      cond-条件字符串,如error,caught error,warning,或naninf;
      identifier-当条件字符串是error,caught error,warning,或naninf时,改字段是Matlab的
      信息指示字符串;
    • dbstatus mfile:列车制定M文件中所有断点设置,mfile必须为M文件函数或有效路径;
    • (6)执行一行或多行语句:
    • dbstep:执行下一个可执行语句;
    • dbstep nlines:执行下nlines行可执行语句;
    • dbstep in:执行下一行可执行语句,如有子函数,进入;
    • dbstep out:执行函数剩余部分,离开函数时停止;
    • 注:这四种都返回调试模式,如遇断点,中止;
    • (7)列出文件内容:
    • dbtype mfile:列出mfile文件的内容,并在每行语句前加上标号以方便使用者设定断点;
    • dbtype mfile start:end:列出mfile文件中指定行号范围的部分
    • 注:在UNIX和VMS调试模式下,并不现实Matlab的调试器,此时必须使用dbtype来显示源程序代码;
    • (8)切换工作空间:
    • dbdown:遇到断点时,将当前工作空间切换到被调用的M文件的空间;
    • dbup:将当前工作空间切换到调用的M文件的空间;
    • (9)退出调试模式:
    • dbquit;
    • 1.1控制单步运行
      step:单步,不进入函数
      step in:单步,进入子函数单步
      step out:在函数中的话跳出函数,否则直接跳入下个断点处
      save and run:存储,运行
      go until cursor:运行到光标处
      可以看到,以上几个按钮和C编辑器中是基本一样的意思

      1.2断点操作

      • set/clear breakpoint:设置清除断点
        set/modify conditional breakpoint:设置或修改条件断点,条件断点可以使程序满足一定条件时停止
        enable/diable breakpoints:使断点有效或无效
        clear breakpoints in all files:清除所有断点
        stop if errors/warnings:程序出现错误或警告时停止运行,进入调试但不包括try...catch中的错误
        切换工作空间,结束对程序的调试,打开编辑窗口中的stack列表,选择base,切换到主工作空间。记得要清楚掉断点,红色圆点去掉了,绿色箭头(调试)变为白色,然后选择continue,白色箭头去掉,调试完成。

matlab远程调试的更多相关文章

  1. Matlab远程调试 转

        Matlab的调试总体分为,直接调试和间接调试.1.直接调试:(1)去掉句末的分号:(2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件:(3)适当地方添加 ...

  2. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

  3. tomcat开发远程调试端口以及利用eclipse进行远程调试

    一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...

  4. Visual Studio 2012远程调试中遇到的问题

    有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...

  5. 使用Eclipse进行远程调试

    转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言 ...

  6. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  7. tomcat 远程调试

    1.服务端查看cataline.sh 中的描述  cataline jpda start 开启服务端远程调试 远程调试端口JPDA_ADDRESS="8000" 2.本地代码参考  ...

  8. 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure

    [题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...

  9. [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试

    Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试安装步骤: 准备电脑: 一台开发电脑,安装 Delphi 开发环境 一台平板电脑,安装 PAServer,安装方 ...

随机推荐

  1. SparseArray替代HashMap来提高性能

    SparseArray是 Android框架独有的类,在标准的JDK中不存在这个类.它要比 HashMap 节省内存,某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseAr ...

  2. 搜索提示(search suggest)文献阅读

    Learning to Personalize Query Auto-Completion 样本 正例用用户的sug点击,其余是负例 特征 用户历史特征: query历史频次,候选和用户历史输入的ng ...

  3. Murano Weekly Meeting 2016.06.28

    Meeting time: 2016.June.28 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1. ...

  4. .NET面试题6

    常见面试题目: 1. 所有类型都继承System.Object吗? 2. 解释virtual.sealed.override和abstract的区别 3. 接口和类有什么异同? 4. 抽象类和接口有什 ...

  5. java基础:JDK环境安装

    根据操作系统位数(32/64,一般64位向下兼容),项目要求版本,下载对应JDK安装包 配置环境变量 JAVA_HOME C:\Program Files\Java\jdk1.7.0_80 PATH ...

  6. Html+CSS二周目--->常用概念

    学习css几乎俩周,来总结一下 对于初学者来说,有一些基本的概念是我们应当清楚的.掌握这些概念,可以帮助你更加有效的开发,大大提高开发效率. 1.盒子模型 2.浮动(float) 3.定位(posit ...

  7. Python元组类型、字典类型及常用操作

    一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...

  8. Linux,MD5

    Linux 中的 md5 利用 md5 消息摘要算法可以获取任何一件事物的唯一 ID 利用 md5 消息摘要算法可以判断任何一个事物是否被改变过 一致性验证:MD5的典型应用是对一段信息(Messag ...

  9. Python开发环境Wing IDE的Blender的Python代码调试技巧

    Wing IDE是一个集成开发环境,可用于开发.测试和调试为Blender编写的Python代码,Blender是一个开源的3 D内容创建系统.Wing IDE提供自动完成.调用提示.强大的调试器.以 ...

  10. css3骰子(transform初识)

    利用css3制作可旋转的骰子,效果图如下,也可以查看 demo: 首先是骰子的html结构,.page 是骰子的六个页面的 class,#one-#six分别表示六个面,.point 是骰子表面的点数 ...