首页
论坛
课程
招聘
[原创] 分享一下写了N年的自用编辑器 -- EDX
2021-10-3 18:26 8401

[原创] 分享一下写了N年的自用编辑器 -- EDX

2021-10-3 18:26
8401

20年前写了个编辑器,一直自用。
今年捡起来稍加完善,感觉可以拿出来见人了。拿出来分享给大家。
官方网站: https://www.ed-x.cc/
下载链接: https://www.ed-x.cc/versions/edx.zip

 

可以支持C/C++项目的开发和调试。
可以调试VC,Mingw以及WSL下的程序。(调试VC目标基于dbgeng,调试32位目标容易使目标产生运行异常,是dbgeng自身的问题...)
内建调试符号美化功能,方便查看复杂类型的数据。性能还行,能够查看较大规模的数据对象。
支持CMake工程管理。
支持无工程的单文件编译调试,方便开发测试。
支持基于Clangd的语法提示,补全。
支持打开4G以上的大型文本。
支持自动搜索工具链(VS,MSYS2,MINGW,CLANG,LLVM-MINGW,Intel OneAPI,WSL)
占用的资源很小,速度飞快。
日常使用,无论是打开文件还是打开工程都是秒开。

 

以下为WSL下调试的截图:
WSL下开发调试


第五届安全开发者峰会(SDC 2021)10月23日上海召开!限时2.5折门票(含自助午餐1份)

收藏
点赞8
打赏
分享
最新回复 (21)
雪    币: 2919
活跃值: 活跃值 (807)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 活跃值 4 2021-10-3 18:33
2
0
大佬牛逼。
雪    币: 314
活跃值: 活跃值 (337)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
院士 活跃值 2021-10-3 18:38
3
0
牛啊,大佬。
雪    币: 1502
活跃值: 活跃值 (981)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
欧阳休 活跃值 2021-10-3 20:08
4
0
20年!辛苦了!
雪    币: 376
活跃值: 活跃值 (635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
初学小潘 活跃值 2021-10-3 20:24
5
0
大佬厉害啊
雪    币: 150
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_hgrbqfun 活跃值 2021-10-3 20:34
6
0
牛逼啊,界面引擎可以开源吗
雪    币: 398
活跃值: 活跃值 (810)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
KooJiSung 活跃值 2021-10-3 20:38
7
1

POST https://www.ed-x.cc/api/checkin HTTP/1.1
Accept: */*
Content-Length: 100
Host: www.ed-x.cc
User-Agent: EDX
Cache-Control: no-cache

{"lang":"zh-CN","sig":"xxxxxxxxxxxxx","token":"","version":"0.4.0.788"}

会收集bios,cpu,disk,mainboard,memory,nic,os

最后于 2021-10-3 20:44 被KooJiSung编辑 ,原因:
雪    币: 150
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_hgrbqfun 活跃值 2021-10-3 20:40
8
0
让我想起了这个项目 https://github.com/rxi/lite
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 2021-10-3 20:46
9
0
KooJiSung POST https://www.ed-x.cc/api/checkin HTTP/1.1Accept: */*Content-Length:&a ...

^_^认证和升级还没弄好,暂时是个半成品


刚才重新发了个新版本,去除过于敏感的信息,免得大家误会。只保留了一些基本信息。并且修正了频繁调用此接口的问题。


如下:

{

"cpu":"Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz",

"machine":[

"机器信息HASH1",

"机器信息HASH2"

],

"mem":65536,

"os":{

"arch":"64 ",

"name":"Microsoft Windows 11 ",

"ver":"10.0.22000"

}

}


最后于 2021-10-3 22:27 被无心红叶编辑 ,原因:
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 2021-10-3 21:02
10
0
mb_hgrbqfun 牛逼啊,界面引擎可以开源吗
没啥界面引擎,UI部分的框架是与WTL类似的自有库。暂时没有开源的打算,一是没精力维护,二自己用的话改起来就比较随心所欲。如果你想参考Windows上的UI框架,WTL是个很容易上手的例子。
雪    币: 877
活跃值: 活跃值 (109)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
boyving 活跃值 2021-10-7 21:27
11
0
大佬牛逼,会不会支持autolisp语言呀。
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 2021-10-8 00:53
12
0
boyving 大佬牛逼,会不会支持autolisp语言呀。[em_76]
没玩过autolisp呀,OCaml倒是玩过几天。一直半会儿怕是支持不了。目前基本上是我用到啥功能,我就加啥功能。总共没几个人用,就先自给自足了。
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 2021-10-8 01:53
13
0

这两天给vc目标的调试器添加表达器求值功能。

目前,能处理大部分C++03中的表达式语法。函数指针不支持,数组指针部分支持,调试器应该不怎么用得到。

之所以不用dbgeng自己的表达式求值功能,是因为我这里的调试器符号是基于imghlp手工处理的,这样可以完美实现符号美化功能。而dbgeng中的符号信息与imghlp还隔了一层纱。这也意味着我这个方案不支持vc程序的远程调试。

其次,顺手借鉴(抄袭)了VS格式化后缀语法,实现了

  1. wm, win32 message的值到名称映射,调试win32程序的消息时不用去查表了。更进一步的消息体解析(类似spy++的那种还不支持。vs也不支持,先模仿一下,以后再做超越吧:)

  2. hr, HRESULT的值到FormatMessage的映射

  3. x, 16进制格式化

  4. b, 2进制格式化

  5. 其它更多格式化功能还没来得及做,以后留个扩展接口在lua里搞


好久没写复杂的解析器了,把形式语言的那些理论知识都忘得七七八八了。这么个简单的表达式解析就写了大半天。

另外,再次吐槽一下,C/C++的运算符对解析器的确不怎么友好,各种二义性问题,上下文无关文法都搞不定。

改天翻一下以前写的C++解析器,已经忘了当初是怎么搞的了。

最后于 2021-10-8 01:54 被无心红叶编辑 ,原因:
雪    币: 877
活跃值: 活跃值 (109)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
boyving 活跃值 2021-10-8 10:36
14
0
无心红叶 没玩过autolisp呀,OCaml倒是玩过几天。一直半会儿怕是支持不了。目前基本上是我用到啥功能,我就加啥功能。总共没几个人用,就先自给自足了。
大佬一看就懂怎么玩了。
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 2021-10-13 12:35
15
0

Windows 11正式发布了,我也非正式支持了一下Windows 11的右键菜单,如下:

有以下两种方法:

方法一:

    最新版本里已经包含了生成MSIX包的必要文件,会搞自签名的朋友自己把这个包打成MSIX并签名安装即可。

方法二:

    打开 系统设置 > 开发人员模式 > 从任意源安装应用 选项,如下图:

   

    运行 regsvr32 shell_ext.dll 手工注册文件管理器扩展

    运行 powershell -command add-appxpackage -register appxmanifest.xml 注册应用

雪    币: 0
活跃值: 活跃值 (132)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
spring丶必应 活跃值 2021-10-13 15:25
16
0
如果下面再增加个控制台会不会更方便一点
雪    币: 57
活跃值: 活跃值 (873)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
实都 活跃值 2021-10-13 16:46
17
0
6666 大佬牛逼阿
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 2021-10-13 20:57
18
0
spring丶必应 如果下面再增加个控制台会不会更方便一点
有此打算,不过做有WindowsTerminal在前面顶着,慢慢来吧。就一般使用来说,独立的控制台会更常用也更方便。IDE里集成的控制台只是个补充,先放后面慢慢弄。
雪    币: 300
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 活跃值 3天前
19
0

新鲜出炉十六进制编辑功能。以前写了个开头搁置了十几年的功能,花了一周搞定。

十六进制编辑器做为一个基础组件,在调试器以及后续的其它功能中也有用武之地。

现在只完成了基本的编辑功能,后续还要补充搜索,替换,定位,数据分析相关功能。

另外,新版本内嵌了标准的Mono字体,以保证在不同系统里有一致的UI呈现效果。

欢迎大家来找茬,帮忙测试一下BUG

雪    币: 222
活跃值: 活跃值 (156)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huangjw 活跃值 12小时前
20
0
very good
雪    币: 2311
活跃值: 活跃值 (787)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
木志本柯 活跃值 12小时前
21
0
优秀
雪    币: 6573
活跃值: 活跃值 (918)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
gamehack 活跃值 11小时前
22
0
大佬牛逼!感谢分享!
游客
登录 | 注册 方可回帖
返回