elisp debug

M-x  是运行command的意思。

若使用常规Emacs
debugger(即不使用edebuger),先把要debug的函数加入到debug-on-entry:

M-x   debug-on-entry   the-function-name
  RET
然后再使用eval-last-sexp命令运行单句elisp(需要移动焦点point到函数调用处),一般情况下它被绑定到键盘C-x
C-e,
C-x C-e           runs
  the   command
  eval-last-sexp
然后就会popup一个debug窗口,按d键就可以单步调试,c键是skip
and continue。

若要查看帮助,可以:
1、C-h a,
 查看包含字串的command,C-h a runs the
command apropos-command
2、C-h f,
 查看elise的函数,describe-function,它可以查看function和command,其实command也是function。
3、C-h
v, 查看变量,describe-variable
4、C-h
m,查看mode的帮助, describe-mode

在emacs里执行elisp语句

(M-x 后面跟任何function原则上都可以交互执行,比如:M-x
getenv
RET 之后,输入USER就可以获得环境用户名)
M-x
eval-buffer   
 如果你有一个代码块要执行,把它拷贝到一个新建的buffer,然后执行行首的命令。
M-x eval-region
   If you want something less hamfisted(拳头) you can
tell Emacs to only evaluate
the region by      
                     
                     
   marking what you want to run and
executing(代码不多可以选择执行region,没拳头那么大)
C-x C-e 
                  which is bound
to eval-last-sexp: 这句和emacs工作的模式有关,但大多数模式都支持。但这句有一些特别  
                     
                 
  地方:它不会更新由defvar 或 defcustom什么的变量的值,另外你必须把point(光标)移动
                     
                     
        
 到要执行的语句的结尾。
C-M-x         
         
 eval-defun,它可能是执行某条命令的最好方式了。它基本没有上面的命令的任何问题,你可
                     
                     
  以在一个form的任何地方执行这条命令,它会自动选择执行最外层的form。
M-:  
                     
 被绑定到eval-expression,是让你自己输入要执行的语句,如 (getenv
"USER")。

Running Shell Commands
from Emacs

M-! cmd RET

Run the shell command
line cmd and display the output
(shell-command).

M-| cmd RET

Run the shell command
line cmd with region contents as
input; optionally replace the region with the output
(shell-command-on-region).

M-x shell

Run a subshell with input and output through an Emacs buffer. You can
then give commands interactively.

M-x term

Run a subshell with input and output through an Emacs buffer. You can
then give commands interactively. Full terminal emulation is
available.

M-x eshell

Start the Emacs shell.

elisp debug,布布扣,bubuko.com

时间: 2024-10-10 00:03:45

elisp debug的相关文章

设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的1

最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u92-windows-x64),JDK安装路径里有个"src.zip"就是JDK的源码文件压缩包: 设置好环境变量的JAVA_HOME变量和PATH变量(JAVA_HOME变量值也是D:\Java\jdk-8u92-windows-x64). 然后打开Eclipse设置可以Debug模式调试

debug with Linux slub allocator

http://thinkiii.blogspot.jp/2014/02/debug-with-slub-allocator.html The slub allocator in Linux has useful debug features. Such as poisoning, readzone checking, and allocate/free traces with timestamps. It's very useful during product developing stage

【Django】Django Debug Toolbar调试工具配置

正在发愁怎么调试Django,就遇到了Django Debug Toolbar这个利器. 先说遇到的问题: 网上也有教程,不过五花八门的,挨个尝试了一遍,也没有成功运行.最后终于找到问题所在: 从开发服务器日志可知:在请求页面时,debug_toolbar已经被加载.但是并没有在页面上显示出来: 从浏览器的开发者工具可以看出,jquery.min.js获取超时,没有被加载成功.这就是问题所在. 我们在settings.py中添加一行: 1 DEBUG_TOOLBAR_CONFIG = { 'JQ

<compilation debug="true" targetFramework="4.5"> 报错解决方案

在 VS2013 下开发的 MVC4 网站,基于 .net 4.5,服务器是一台 Windows 2008 R2,运行的时候就报错了 The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework (for example, '<compilation 

cmake Debug模式和Release模式

在cmake中要编译debug模式的话,在CMakeLists.txt中添加如下两行 (不写就用默认的值) SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb ") SET(CMAKE_CXX_FLAGS_RELEASE "${ENV{CXXFLAGS} -O3 -Wall") 然后,在编译的时候,使用如下命令: cmake -DCMAKE_BUILD_TYPE=Debug/Release  pa

Qtcreator编写ros程序:无法启动进程&quot;catkin_make&quot; -DCMAKE_BUILD_TYPE=Debug

利用Qtcreator编写ROS程序,你必须先进行相应的配置:在启动qtcreator环境时先把ros环境添加进.(即~/.bashrc文件) 1 版本问题 QT4 与 QT5 sudo    gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop     (qt5       默认安装的路径下) 当打开文件是空时,关闭.按照路径打开文件 cd ~/.local/share/applications/ gedit

eclipse debug调试mapreduce程序

1.将mapred-site.xml文件拷贝一份到项目中 <configuration>     <property>         <name>mapreduce.framework.name</name>             <value>yarn</value>     </property>     <property>          <name>mapred.child.java

服务器程序DEBUG

服务器端设定 Tomcat 默认我们启动Tomcat是使用下边的命令 ./catalina.sh start 如果想DEBUG的话,只需要加一个参数打开JPDA(Java Platform Debugger Architecture)就可以了 ./catalina.sh jpda start 注:默认的监听端口是8000,如果想修改这个端口的话,可以修改环境变量JPDAADDRESS. 如果我们的服务器是通过daemon.sh启动的tomcat话,貌似没有找到默认打开JPDA的方法,我们可以环境

思科命令配置小技巧四:用ACL控制debug 输出

使用debug命令可以帮助我们TS,但是使用debug命令往往会输出一大堆信息,很多是我们不需要用的,也会造成CPU高负荷,这种情况下我们可以限制debug的输出 可以应用ACL到debug以限定仅输出要求的debug信息. 如仅查看从1.1.1.1到1.1.1.2的ICMP包: Router(config)# access-list 100 permit icmp host 1.1.1.1 host 1.1.1.2 Router# debug ip packet detail 100 思科命令