blog正式转移到了这里:

http://blog.phoeagon.cz.cc



I know

phoeagon啲01世界

2010 年 3 月 21 日  星期日   晴天


用Notepad++做FreePascal编译调试 分類: 滑鼠人生

上次文章说的主要是我自己用C的搞法。。鉴于好多人用Pascal,然后我刚刚Q上Assist了一次~ 就贴一下啊:

(原帖:http://blog.qooza.hk/phoeagon?eid=18363884&bpage=

说着说着觉得我有点啰嗦。。。一般online 操作协助都要特别具体仔细耐心的这种~ 从来没assist过像Ricky之类厉害的牛~ 故语气如有不妥大家忽略。。

Ricky&Bomb [time concealed]
....
 phoeagon [time concealed]
你是回复我哪个?
 
Ricky&Bomb [time concealed]
只是召唤你出来
Ricky&Bomb [time concealed]
教我用那个notepad++调试程序
 phoeagon [time concealed]
你会不会gdb啊?
 
Ricky&Bomb [time concealed]
不会
 phoeagon [time concealed]
不会请先看我的blog吧~
 
Ricky&Bomb [time concealed]
在哪里
 phoeagon [time concealed]
我找link出来~
 
 phoeagon [time concealed]
我整一篇notepad++设置在:
http://blog.qooza.hk/phoeagon?eid=18363884&bpage=
 
 phoeagon [time concealed]
里面有个快速gdb入门~
 
Ricky&Bomb [time concealed]
我正在看
 phoeagon [time concealed]
基本上就只用到里面的start,continue,break,print,display,quit
 
 phoeagon [time concealed]
哦,next和step要
 
Ricky&Bomb [time concealed]
我想知道在哪里按出个gdb
 phoeagon [time concealed]
cmd里面
 
 phoeagon [time concealed]
敲gdb,看有没有先
 
 phoeagon [time concealed]
直接敲~
 
Ricky&Bomb [time concealed]
好像有
 phoeagon [time concealed]
gdb在fp的安装目录里有~
 
 phoeagon [time concealed]
okay~
 
Ricky&Bomb [time concealed]
so
 phoeagon [time concealed]
但是命令行太难看~
 
 phoeagon [time concealed]
so你想知道gdb还是知道npp设置?
 
Ricky&Bomb [time concealed]
notepad++里怎么搞出个gdb
 phoeagon [time concealed]
okay,打开npp~
 
Ricky&Bomb [time concealed]
npp在哪里
 phoeagon [time concealed]
npp=notepad ++
 
 phoeagon [time concealed]
p=plus
 
 phoeagon [time concealed]
@ @
 
Ricky&Bomb [time concealed]
哦哦
Ricky&Bomb [time concealed]
and then
 phoeagon [time concealed]
然后,你也试试cmd里敲fpc
 
 phoeagon [time concealed]
有东西出来就好~
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
好,在npp里选择插件~NppExec
 
 phoeagon [time concealed]
有一个execute命令~
 
Ricky&Bomb [time concealed]
弹出个不知名物
 phoeagon [time concealed]
一个输入窗口?
 
Ricky&Bomb [time concealed]

Ricky&Bomb [time concealed]
是不是输入个变量
 phoeagon [time concealed]
先输入这个,然后等我查证一下(我自己设的不是freepascal编译)
SET obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
NPP_SAVE
fpc "$(FULL_CURRENT_PATH)"
cmd /c pause
NPP_CONSOLE 0
 
 phoeagon [time concealed]
SET obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
NPP_SAVE
fpc -g "$(FULL_CURRENT_PATH)"
cmd /c pause
NPP_CONSOLE 0
(此处较原聊天记录有出入…… 我错了,把-g放到后面~ 此处已更正)
 
 phoeagon [time concealed]
这样子
 
 phoeagon [time concealed]
粘贴进去~
 
 phoeagon [time concealed]
然后现在随手打一个短程序pas存起来测试。
 
Ricky&Bomb [time concealed]
然后
 phoeagon [time concealed]
然后,你的程序存好了没?
 
Ricky&Bomb [time concealed]
好了
 phoeagon [time concealed]
存好了,那个粘贴进去了,就点击ok试一次,看编译是否正常
 
Ricky&Bomb [time concealed]
好了
 phoeagon [time concealed]
正常吗?
 
Ricky&Bomb [time concealed]
相当于个F9吧
 phoeagon [time concealed]
好,现在再打开execute一次,点击Save,在左边弄个好看的命令名,叫Compile
 
Ricky&Bomb [time concealed]
然后
 phoeagon [time concealed]
(save之前确认框里确实是那个SET ob....脚本)
 
 phoeagon [time concealed]
好,现在编译弄好了(快捷键等一下再说~)
 
 phoeagon [time concealed]
好,同样的方法,execute里save一段脚本:
SET obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
//ECHO run | gdb $(obj).exe
$(obj).exe
cmd /c pause
NPP_CONSOLE 0

储存为Run,这是直接运行
 
 phoeagon [time concealed]
再save一段,叫GDB(终于~)
SET obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
gdb "$(obj).exe"
NPP_CONSOLE 0
 
 phoeagon [time concealed]
好了没?
 
Ricky&Bomb [time concealed]
好啦
 phoeagon [time concealed]
都运行过没问题是吧~
 
Ricky&Bomb [time concealed]
然后关于那个文件输入输出怎么办
 phoeagon [time concealed]
好,点击插件-nppexec-advanced options
 
 phoeagon [time concealed]
什么文件输入输出~?
 
Ricky&Bomb [time concealed]
assign
reset
close
 phoeagon [time concealed]
我一般自己写assign、reset、close什么的~
 
 phoeagon [time concealed]
然后run那一个可以手工输入数据
 
 phoeagon [time concealed]
assign什么会自动在初始目录找啊~
 
Ricky&Bomb [time concealed]
问题是我还没输输入数据
 phoeagon [time concealed]
advanced options找到没有?
左下角找到Menu Item,设定一个script和对应的item name
 
 phoeagon [time concealed]
你是用什么运行?
 
 phoeagon [time concealed]
还是说你没建立*.in?
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
那你assign啥就ctrl+n新建个文件输入嘛~
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
如果不用文件输入输出就直接在run里打,不过gdb貌似不是很支持~
 
 phoeagon [time concealed]
menu item找到没有~
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
associated script里面找到你的gdb,在上面item name里输入gdb,点击左边add/Modify
 
 phoeagon [time concealed]
run和compile依此类推
 
Ricky&Bomb [time concealed]
and。。。
 phoeagon [time concealed]
搞定了之后,点击okay,退回来,到插件-nppexec菜单里面,确认找到了你的命令项run/compile/gdb
 
 phoeagon [time concealed]
如果没有试着重新开一遍notepad++
 
Ricky&Bomb [time concealed]


phoeagon [time concealed]
点击设置-管理快捷键
 
 phoeagon [time concealed]
在上面找到plugin command项
 
 phoeagon [time concealed]
在下拉菜单中找到你的compile/run/gdb (应该和exec什么在一起)
 
Ricky&Bomb [time concealed]
然后
Ricky&Bomb [time concealed]
然后

 phoeagon [time concealed]
然后双击那一项,设置快捷键
 
 phoeagon [time concealed]
三个设置完重启notepad++,就可以用快捷键调用这些命令了~
 
 phoeagon [time concealed]
可以调用吧?
 
Ricky&Bomb [time concealed]
有了
 phoeagon [time concealed]
okay,接下来就是随便n几下~ gdb会自动提示当前的语句行
 
 phoeagon [time concealed]
然后想知道多少行就直接看notepad++了
 
 phoeagon [time concealed]
o,等一下~
 
 phoeagon [time concealed]
选中 插件-nppexec-follow ¥(Current_directory)
 
 phoeagon [time concealed]
然后就可以用gdb了
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
(本来也可以用,不过不设置的话程序找不到你的*。in文件)
 
 phoeagon [time concealed]
好,现在gdb需要帮助吗?
 
Ricky&Bomb [time concealed]
怎么设置变量
 phoeagon [time concealed]
watch吗?
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
如果你只要看一次,就print x
 
 phoeagon [time concealed]
如果你一直监视,就display x
 
 phoeagon [time concealed]
display的话,顺便会给你一个号码display #1之类的
 
 phoeagon [time concealed]
这是用来undisplay 删除的
 
 phoeagon [time concealed]
display可以简写成disp
 
Ricky&Bomb [time concealed]
  [some pic used to be here]
 phoeagon [time concealed]
你把完整的gdb记录copy来
 
Ricky&Bomb [time concealed]
 [some pic used to be here]
 phoeagon [time concealed]
先close掉那个~然后你试着把compile的脚本改成"
"SET obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
NPP_SAVE
fpc -g "$(FULL_CURRENT_PATH)"
cmd /c pause
NPP_CONSOLE 0
“(在execute窗口里改,然后save一次)
 [sorry again]


 phoeagon [time concealed]
再编译一遍,做gdb~
 
 phoeagon [time concealed]
(如果你喜欢也可以把编译命令放在run和gdb前面,让它每次都重新编译一遍)
 
 phoeagon [time concealed]
就这一句:fpc -g "$(FULL_CURRENT_PATH)"  放到别的什么$(obj)还是gdb ...前面
 
 phoeagon [time concealed]
好,那个问题解决了否?
 
Ricky&Bomb [time concealed]
好了
 phoeagon [time concealed]
好,还有遇到啥奇怪的问题吗?
 
Ricky&Bomb [time concealed]
那个命令缩写
 phoeagon [time concealed]
其实就大概随手打前面几个字母
 
 phoeagon [time concealed]
如果对就对,不对一般会提示有歧义
 
 phoeagon [time concealed]
我一般这么省:
 
 phoeagon [time concealed]
start sta
print print (print不好省)
next n
step s
 
 phoeagon [time concealed]
break b
display disp
finish fin
 
 phoeagon [time concealed]
一般就够了~
 
 phoeagon [time concealed]
quit就q
 
Ricky&Bomb [time concealed]

 phoeagon [time concealed]
如果临时那个命令很奇怪要看一下就help +命令
 
 phoeagon [time concealed]
help finish等
 
 phoeagon [time concealed]
或者search the fucking web
 
 phoeagon [time concealed]
(STFW)俗称
 
Ricky&Bomb [time concealed]
最后膜拜下phoeagon大牛
 phoeagon [time concealed]
膜拜bomb神牛
 






訪客留言 (返回 phoeagon 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]







人氣:79343
暱稱: phoeagon
性別: 男
MORE...  
« May 2019 »
SMTWTFS
1234
567891011
12131415161718
19202122232425
262728293031
» 最新日誌
Blog Moved!
跨站jsMath实现
路由表是个好东西
Twitter Fav列表达陈100...
搞定了公式显示
» 日誌分類
全部 (175)
Code Storage (11)
Math&Phy@Chem@MM (8)
Music Anyway (5)
Programming Impossible (28)
RSS提示 (2)
StorageBox (5)
'Bout Here (12)
滑鼠人生 (42)
碎屑 (51)
未分類 (11)
» 訪客留言
最近三個月尚無任何留言
» 最近訪客
最近沒有訪客
» 每月文章
» 日誌訂閱
尚未訂閱任何日誌
» 我的好友
» 我的連結
Ink Mark --Jlim
StarKirby
|S||S||S|
「流年祭」
» 日誌統計
文章總數: 175
留言總數: 86
今日人氣: 113
累積人氣: 79343
» 站內搜索
RSS Feed