diff --git a/docs/.vitepress/config/markdown.ts b/docs/.vitepress/config/markdown.ts index aecb0c79f..7fb427e08 100644 --- a/docs/.vitepress/config/markdown.ts +++ b/docs/.vitepress/config/markdown.ts @@ -6,7 +6,7 @@ export const markdown: MarkdownOptions = { light: 'material-palenight', dark: 'one-dark-pro' }, - lineNumbers: true, // 启用行号 + // lineNumbers: true, // 启用行号 // 在所有文档的

标签后添加组件 config: (md) => { diff --git a/docs/.vitepress/theme/components/Badge.vue b/docs/.vitepress/theme/components/Badge.vue index dba96dce3..a62e5b1d5 100644 --- a/docs/.vitepress/theme/components/Badge.vue +++ b/docs/.vitepress/theme/components/Badge.vue @@ -1,47 +1,49 @@ - \ No newline at end of file diff --git a/docs/.vitepress/theme/styles/vars.css b/docs/.vitepress/theme/styles/vars.css index bbc5c0bb7..9557eaa47 100644 --- a/docs/.vitepress/theme/styles/vars.css +++ b/docs/.vitepress/theme/styles/vars.css @@ -36,8 +36,33 @@ * -------------------------------------------------------------------------- */ :root { - --vp-c-badge-type-warning: #e7c000; - --vp-c-badge-type-tip: #42b983; - --vp-c-badge-type-error: #da5961; - --vp-c-badge-type-info: #0170fe; + --vp-badge-info-border: var(--vp-c-divider-light); + --vp-badge-info-text: var(--vp-c-text-2); + --vp-badge-info-bg: var(--vp-c-white-soft); + + --vp-badge-tip-border: var(--vp-c-green-dimm-1); + --vp-badge-tip-text: var(--vp-c-green-darker); + --vp-badge-tip-bg: var(--vp-c-green-dimm-3); + + --vp-badge-warning-border: var(--vp-c-yellow-dimm-1); + --vp-badge-warning-text: var(--vp-c-yellow-darker); + --vp-badge-warning-bg: var(--vp-c-yellow-dimm-3); + + --vp-badge-danger-border: var(--vp-c-red-dimm-1); + --vp-badge-danger-text: var(--vp-c-red-darker); + --vp-badge-danger-bg: var(--vp-c-red-dimm-3); +} + +.dark { + --vp-badge-info-border: var(--vp-c-divider-light); + --vp-badge-info-bg: var(--vp-c-black-mute); + + --vp-badge-tip-border: var(--vp-c-green-dimm-2); + --vp-badge-tip-text: var(--vp-c-green-light); + + --vp-badge-warning-border: var(--vp-c-yellow-dimm-2); + --vp-badge-warning-text: var(--vp-c-yellow-light); + + --vp-badge-danger-border: var(--vp-c-red-dimm-2); + --vp-badge-danger-text: var(--vp-c-red-light); } \ No newline at end of file diff --git a/docs/categories/fragments/2019/12/31/个人常用Linux命令.md b/docs/categories/fragments/2019/12/31/个人常用Linux命令.md index 4a40e264a..159dbcd15 100644 --- a/docs/categories/fragments/2019/12/31/个人常用Linux命令.md +++ b/docs/categories/fragments/2019/12/31/个人常用Linux命令.md @@ -458,7 +458,7 @@ cp 文件名/目录名 目录路径 mv 文件名/目录名 目录路径 ``` -例如: +例如:`mv` 命令不需要 `-r` 命令,即可递归移动子目录 - `mv test test2`: - 如果 test2 目录存在,表示将 test 目录移动到 test2 目录下 diff --git a/docs/categories/fragments/2022/11/01/使用IDEA进行远程程序调试.md b/docs/categories/fragments/2022/11/01/使用IDEA进行远程程序调试.md new file mode 100644 index 000000000..b8b2e6171 --- /dev/null +++ b/docs/categories/fragments/2022/11/01/使用IDEA进行远程程序调试.md @@ -0,0 +1,75 @@ +--- +title: 使用 IntelliJ IDEA 进行远程程序调试 +author: 查尔斯 +date: 2022/11/01 20:55 +categories: + - 杂碎逆袭史 +tags: + - IDE + - "IntelliJ IDEA" + - Java +--- + +# 使用 IntelliJ IDEA 进行远程程序调试 + +**C:** 今天在测试环境出现了一个 “匪夷所思” 的问题,追踪日志、排查 Feign 日志,修改配置,尝试了很多种办法,均未解决。最终决定对测试环境进行远程程序调试来看看。 + +在开发时用 IDE 的断点调试倒是相对便捷,但到了部署好的环境,再使用 IDE 来调试,就要麻烦一些了。下面就跟着笔者来看看使用 IntelliJ IDEA 实现远程 Debug 的步骤吧。 + + + +::: tip 笔者说 +由于笔者安装了 [Chinese(Simplified)Language Pack / 中文语言包] 插件,所以下方步骤的 IntelliJ IDEA 界面都是中文的,各位同学如果用的是默认语言包,那就参照着看吧。 +::: + +## 新增远程调试配置 + +点开运行程序下拉菜单,点击 [编辑配置...]。 + +![202211012021157](../../../../../public/img/2022/11/01/202211012021157.png) + +在打开的 [运行/调试配置] 窗口,点击左上角 [+] 号,随后在弹出的 [添加新配置] 下拉菜单中,下拉找到 [远程 JVM 调试],点击即可添加远程调试配置。 + +![202211012022122](../../../../../public/img/2022/11/01/202211012022122.png) + +按照下图序号顺序,依次设置好 [名称]、[主机]、[端口]、[JDK 版本],然后先复制一下下图红框中的 [远程 JVM 的命令行实参],点击 [确定] 完成远程调试配置添加。 + +::: warning 笔者说 +这里主要就注意一下主机和端口两个配置、主机是你要远程调试的程序所在服务器的 IP/域名,但端口可不是你要远程调试的程序所占用的端口。这个端口是远程调试端口,也不能和程序端口相同。 +::: + +![202211012022222](../../../../../public/img/2022/11/01/202211012022222.png) + +## 修改启动命令 + +添加完配置之后,就立刻能开始调试吗?当然不是了,很简单的问题,如果我们只需要在 IntelliJ IDEA 中配置两下就能直接连接程序调试,那 Java 程序的安全性也太低了吧。 + +刚才笔者让你复制的 [远程 JVM 的命令行实参],是 IntelliJ IDEA 基于我们刚才的配置帮我们生成的,我们需要将这个 JVM 命令行参数加到你要远程调试的程序启动命令中。 + +例如: + +```shell +# -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 +java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 你的程序名.jar --spring.profiles.active=test +``` + +好了,还差最后一步,把你配置的远程调试端口放开。 + +## 启动远程调试 + +回到 IDE 中,点击 [Debug 运行] 按钮,如果控制台窗口出现下方提示,那么接下来该怎么加断点,该怎么触发断点,该怎么进行调试就不用笔者过多介绍了吧? + +```shell +# Connected to the target VM, address: ''xxx:5005', transport: 'socket'' +已连接到目标 VM,地址:''xxx:5005', 传输: '套接字'' +``` + +![202211012025211](../../../../../public/img/2022/11/01/202211012025211.png) + +远程调试完后别忘了把远程调试端口关闭,该删除安全组规则就删除。 + +::: tip 笔者说 +哦对了,笔者这问题到底解决了没有呢?当然解决了,而且这个问题不是代码的问题,而是一位远程办公的同事在他本地连接了测试环境数据库(这在笔者项目开发时强调过不允许连接),他的程序一直运行着把测试环境的一些任务数据处理了。 + +具体的不多说,因为当你调试时程序运行正常,断开调试再试就出错,而且在你没调试前添加的部分日志埋点也没输出时,其实就应该摒弃所谓的 “不可能”,即:程序没有在你预想的机器上运行。毕竟福尔摩斯有句话:“排除一切不可能的,剩下的即使再不可能,那也是真相”。 +::: diff --git a/docs/public/img/2022/11/01/202211012021157.png b/docs/public/img/2022/11/01/202211012021157.png new file mode 100644 index 000000000..4d941a061 Binary files /dev/null and b/docs/public/img/2022/11/01/202211012021157.png differ diff --git a/docs/public/img/2022/11/01/202211012022122.png b/docs/public/img/2022/11/01/202211012022122.png new file mode 100644 index 000000000..dda193d8c Binary files /dev/null and b/docs/public/img/2022/11/01/202211012022122.png differ diff --git a/docs/public/img/2022/11/01/202211012022222.png b/docs/public/img/2022/11/01/202211012022222.png new file mode 100644 index 000000000..d7c1c20ba Binary files /dev/null and b/docs/public/img/2022/11/01/202211012022222.png differ diff --git a/docs/public/img/2022/11/01/202211012025211.png b/docs/public/img/2022/11/01/202211012025211.png new file mode 100644 index 000000000..d4a100143 Binary files /dev/null and b/docs/public/img/2022/11/01/202211012025211.png differ