c++ - 调用 Eigen 方法 .row() 导致相关线程终止后主程序意外崩溃
问题描述
我有一个大型C++ 多线程 Visual Studio 框架。主进程启动一组线程同时运行不同的例程,然后等待加入它们。但是,在运行时,我遇到了意外的行为,因为主程序在加入所有线程之前终止并关闭,但命令行中没有显示任何断言、异常或错误消息。
经过几次试验和调试操作,我可以在程序的正常工作行为(正确的线程连接和终止)和不希望的行为之间隔离单个原子更改。特别是,我观察到主程序在调用.row()
Eigen 矩阵上的Eigen 方法的线程回调结束后意外终止:线程回调似乎正确执行了相关指令(即,输出向量成功分配给所选行输入矩阵)并正确完成,但由于某种原因,主线程无法加入它并立即终止。如果我用.row()
vector 的显式元素分配代替对该方法的调用,则不会发生此行为,主线程正确加入,程序按预期继续并终止。
我真的不知道我遇到的问题是否是由这种 Eigen 方法引起的,但我找不到任何其他区分因素来调试问题。
有没有人对这个问题背后的原因有一个可能的想法或建议?我知道我的问题的表述非常笼统,可能是由于大量原因造成的,但我什至无法猜测我需要将重点放在哪里来解决它。
提前致谢
解决方案
推荐阅读
- docker - 从一个 Dockerized Go 服务获取对其他 Dockerized Go 服务的查询
- excel - Excel:使用不同长度的多个数据集时的 AND 公式
- javascript - 无法从绑定函数访问对象变量,或从未绑定函数访问内部方法
- excel - 运行时错误 1004:方法“另存为”Fail_of object“工作簿”失败
- spring-boot - @JsonProperty("test_id") 在 springboot 中不起作用 @GetMapping
- excel - For循环每隔5行格式化单元格
- azure-stream-analytics - 在流分析查询中生成倒置时间戳
- python - 如何从输入中删除所有可能的无关空格、制表符、下一行和其他内容以清理标准输入 python 输入?
- php - 如何从集合中删除模型实例
- wordpress - 是否有任何插件或插件可将文件上传器添加到 wooCommerce 产品页面?