Win10中Linus subsystem 返回的系统类型为linux
在命令行中进入了Linux Subsystem中执行Shell程序。
忘记退出子系统了,开始执行一个Java程序,结果遇到一个可执行命令行程序中代码的错误。担负修改编译调试Windows上的代码,问题依旧。单独在IDE中调试目标程序,执行结果正常。
抓狂中…
后来想到可能和在Linus subsystem 中执行有关系。
退出Linus subsystem,再次执行代码,问题解决。
因为是个java程序,会在系统中判断系统类型,根据系统类型调用相应的动态库和可执行文件(可执行文件编译了3中系统版本,内置在jar包中)。在Linus subsystem中检测出来的系统版本为Linxu,然后执行了Linux相关流程。而我平时使用的为Window环境,所以修改bug时只重新编译了Windows版本,做了相关替换。一时不察,掉进坑里。