- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 loginsight,一款通用的日志分析工具
Loginsight是一款开源的通用日志分析工具,能快速打开大文件,且集成了时间线、过滤窗、正则搜索、分享等功能,有效帮助理清线索、记录思路、整理分析结果官网下载地址文档与详细介绍GitHubGitee时间线时间线类似书签功能,按时间顺序排列节点,但比书签功能更丰富地。通过在主窗口里右键标记,可以将那一行新增为时间线的一个节点。刚开始分析日志时,时间线是书签和线索,可以用不同的颜色分类不同模块或是不同线索主线,并把一些思考记录到备注里;当日志分析出眉目后,要整理出问题原因或者发生的时序,这
2021-06-07 06:15:19
8540
3
原创 loginsight跨平台日志查看工具
看日志,是研发的日常工作,相信你已经从各种报错日志中查出许多BUG,但也被冗长、复杂的日志困扰过无数次。在日常工作中,我也经常痛苦于看日志,一般是这些日志长得面目狰狞:日志文件太大,打开都很困难日志文件里的信息错综复杂,各个模块的时序纠缠不清日志搜集引擎导出的文件被切割成多个文件,很难联系上下文来看不仅日志看的不顺眼,看日志的工具也不蹭手:搜索完关键词,上下跳几次,就忘记要干什么了(我是谁,我在哪,我在干嘛?)想按某个关键字过滤日志,有的工具还不支持刚刚自己分析得头头是道,一叫人过来就
2020-09-02 21:44:58
857
原创 qt如何实现大文件的加载和显示
最近研究了下如何用qt的原生控件来加载和显示大文件(>1G),分享下一些摸索经验。下文源码:loginsight文件的内存映射在开始qt部分之前,我们先了解一个概念——文件的内存映射。我们知道一般读文件用到的API是fopen/fread/fclose,或者是open/read/close,这种方式都需要内核帮忙作一次拷贝。linux中有一个函数叫mmap(windows也有类似功能),可以避免这样的一次拷贝。请看这幅对比图(图片来源:https://www.jianshu.com/p/e
2020-05-17 17:13:54
5493
2
原创 swig director内存管理
swig中的director是一个由c/c++往上层语言调用的封装。以下笔者将以java为上层语言讲解director的内存管理。Demo源码先列举代码:my.h#ifndef MY_H#define MY_H#include <string>class My{public: virtual ~My(){} virtual std::string text(const std:
2017-06-12 17:54:04
2095
原创 android studio编译c++
基本配置不论使用哪种方式,首先需要配置ndk路径。依次打开file -> project structure -> SDK Location在Android Ndk Locaiton中填入你的ndk路径DeprecateNDKBuild这种方法已被官方标记未废弃,将在gradle 3.0被正式弃用。在gradle.properties中加入android.useDeprecatedNdk=true
2017-06-12 16:46:54
524
原创 Native线程attach方式
概述写过jni的知道,可以从native线程回调java方法。而回调java方法时,必要的两个标准步骤是调用前attach native线程,调用结束后detach native线程。为方便后文表述,代码先行。我们先定义一个Java类:public class Foo { static { System.loadLibrary("foo"); } public
2017-05-07 20:23:44
1294
原创 Local Reference Overflow
概述有幸碰到过这样一个错误:JNI ERROR (app bug): local reference table overflow (max=512)错误的意思是JVM的局部引用表溢出了。局部引用表的作用是在Native方法返回前,保存局部引用,一旦其返回,则将局部引用表中的对象回收。简单理解,即为垃圾回收服务的。如何获取一个局部引用呢?有两种方法: 1. 通过NewLocalRef创建一个局部引
2017-05-05 21:14:41
451
mac osx 飞秋
2017-02-24
一款益智小游戏的源代码
2012-06-19
VC++五子棋游戏框架-已实现基础功能
2010-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人