|
|
分享源码
| 界面截图: |
|
| 是否带模块: |
- |
| 备注说明: |
- |
本帖最后由 蜗牛人生 于 2025-12-4 17:30 编辑
有许多年没有用易语言了...回想起以前..
用易语言的时候...找bug..找了整整一个月(不开玩笑)....
看着精易有点没落, 用易语言的人也越来越少了..
就花点时间做给需要的人.
异常捕获是使用火山编写给易语言用的..由于本人不会制作支持库,所以只能编译成dll.给易语言用...
由于怕麻烦.没有添加环形栈..所以,同一条线程只能设置一条信息.设置语句位置会覆盖之前的..
技术原理:
使用API:SetUnhandledExceptionFilter, 设置异常捕获回调.
使用"AddVectoredExceptionHandler" 接管其它模块的异常函数
使用C++"thread_local"实现 线程安全,无锁.仅记录字符串地址,效率极高
其实用易语言也是可以做的..就是会麻烦一点..再加上我许多年没有用易语言了..不太熟悉了..
而且易语言做代码解析比较麻烦...要考虑1或者2字节的问题..
所以选择用火山做...
也不会在易语言上插入菜单,所以制作成我软件的插件,但无需担心,此次完全开源.
如果有大佬移植到易语言的菜单可以用,或者支持库,发上来我给置顶..
这是添加异常捕获代码:
使用方式有两种:
1: 在易语言编辑框, 按下鼠标滚轮键,然后双击即可,如图:
2: 在易语言编辑框,按住鼠标右键,并拖动鼠标.如图:
注: 不建议带异常捕获的EXE对外发布.因为文本代码会写在EXE里.建议仅抓BUG用..
这是崩溃的例子.崩溃后会优先写文件到磁盘中~再弹出信息框
这是解析易语言代码并添加捕获信息的代码:
|
评分
-
查看全部评分
|