Post

FLEXLM_DIAGNOSTICS 变量

FLEXLM_DIAGNOSTICS 变量

FLEXLM_DIAGNOSTICS 是由 Revenera 公司在其 FlexNet Publisher(原名 FLEXlm)许可证管理系统中定义的一个环境变量,用于诊断和调试许可证检查过程中的问题。它的主要作用是让应用程序在启动时输出更详细的许可处理日志信息,帮助用户或系统管理员定位许可失败的具体原因。


📌 变量功能简述

FLEXLM_DIAGNOSTICS 用于控制诊断信息的输出级别。它主要会影响如下行为:

  • 应用程序启动后,在标准输出或错误输出中打印详细的许可证搜索路径、找到的 license 文件、服务器交互过程等信息;
  • 帮助开发者或管理员了解许可证查找路径、失败原因(如 feature 不存在、过期、未启用等);
  • 通常与 LM_LICENSE_FILE 配合使用,可帮助调试许可证路径是否设置正确。

🧪 常见使用方法

设置变量的方式视操作系统以及shell类型而定:

▪ Linux / macOS:

1
2
export FLEXLM_DIAGNOSTICS=3 #for bash
setenv FLEXLM_DIAGNOSTICS 3 #for [t]csh

▪ Windows(cmd 命令行):

set FLEXLM_DIAGNOSTICS=3

🔢 可用的取值

描述
1输出基本的诊断信息(license path、server status 等)
2输出中等详细度的信息(包括 feature 检查失败的原因)
3输出最详细的诊断信息,包括完整的许可证检查、路径、服务器交互细节

建议从等级 1 或 2 开始,如果问题难以定位,可以设置为 3。


📋 示例输出(等级 3)

1
2
3
4
5
FLEXnet Licensing error:-5,357
  [Detecting lmgrd processes...]
  [Trying license file: C:\licenses\app.lic]
  [Checking in with license server: 27000@licserver]
  [Feature 'mytool' not found in license file.]

🚨 注意事项

  • 使用 FLEXLM_DIAGNOSTICS 可能会影响性能(尤其在大型程序启动时),不建议在生产环境长期开启
  • 某些工具(如 Cadence、Synopsys)也支持该变量,但实际效果取决于工具是否启用了该调试支持;
  • 如果是脚本调用的程序,注意 redirect 标准输出到日志中便于查看。

This post is licensed under CC BY 4.0 by the author.

支持创作者

如果本文帮助到你,可以通过以下收款码支持我:

收款码

感谢你的支持!