[Bug] “在我电脑上是好的!”:系统环境差异引发的Bug排查记

实干、实践、积累、思考、创新! 写了个程序,在多台电脑上测试时,发现有一台始终运行异常。 具体表现是图形渲染失败,数据提取也不完整——明明其他电脑能正常提取的内容,在这台上就是出不来。 一开始怀疑是文件拷贝遗漏,但反复确认后,程序相关的 DLL 都已齐备。那问题究竟出在哪里? 排查一阵后,我开始猜测是运行环境差异导致的。程序里可能调用了一些系统库函数,或是某些依赖库对操作系统版本比较敏感。于是,我试着在那台电脑上执行了 Windows Update,将其升级到最新版本,并做了一轮系统修复。 更新完成后重新运行程序——果然,一切恢复正常了。 总结下来,还是编译环境与运行环境不一致引发的问题。 关于我们 结构动力学与抗震 | 复杂结构计算分析 | 地铁减振控制 | 人行及风致振动控制 | 程序开发与软件定制 | 有限元仿真 | 有限元求解器开发 | 固体力学 https://www.jdcui.com 合作及技术咨询 COOPERATION …

新著 | 《结构地震动力响应Python编程》出版!

实干、实践、积累、思考、创新。 新著《结构地震动力响应Python编程》正式出版!本书由“一线结构工程师”执笔,聚焦结构抗震计算理论及其编程实现,由广州容柏生建筑结构设计事务所(普通合伙)(RBS)与华南理工大学建筑设计研究院有限公司(SCAD)方小丹建筑结构院联合推出。 版权 [Copyright]  书名:结构地震动力响应Python编程 (Seismic Dynamic Response of Structures Python Programming) 作者 [Author(s)]: 崔济东 (Jidong Cui), 沈雪龙 ( Xuelong Shen ), 吴金诚( JinCheng Wu), 赵颖( Ying Zhao). 出版社 [Press]:中国建筑工业出版社 …

[AI探索] 拯救被Ollama占领的C盘

实干、实践、积累、思考、创新。 来自团队小伙伴 郑依力 的分享! 在我们发布第二篇本地DeepSeek R1之后 ( DeepSeek R1 本地部署看这篇  ),用Ollama进行本地部署会有个问题持续困扰大家:Ollama 软件UI中不支持修改软件和DS模型安装地址,默认安装位置是C!盘! 对大多数平民牛马来讲,C盘资源寸土寸金,万一大家一时手抖点了下载671B模型,可能电脑硬盘直接gg。 不要害怕,我已为大家准备了一剂良方。从根本上解决问题,主要分三步: 步骤: 调整Ollama默认安装地址 调整Ollama模型默认安装地址 Cmd调用Ollama下载模型并对话 Step1 调整Ollama安装地址   在正式安装Ollama前,进行如下操作,修改其默认安装地址。 调整Ollama安装地址的命令流如下: Win+R Cmd H: # H: 为安装包所在盘; cd H:\Software\AI …

[编程笔记] VS提示异常:托管调试助手”LoaderLock”:“正尝试在 OS 加载程序锁内执行托管代码

实干、实践、积累、思考、创新。 VS编程提示异常:托管调试助手”LoaderLock”:“正尝试在 OS 加载程序锁内执行托管代码 …… 如下图所示: 解决办法:将异常设置里面的 LoaderLock变量取消勾选,即不在报错。 相关博文( Related Topics) [01] [编程][笔记] 本地部署网站提示”HTTP 错误 500.19 – Internal Server Error“错误 [02] [编程][笔记] “ASP.NET 4.5 has not been registered on the …

[Python] matplotlib 提示错误 module ‘backend_interagg’ has no attribute ‘FigureCanvas’

实干、实践、积累、思考、创新。 Python编程,采用matplotlib绘图,提示一下错误: AttributeError: module ‘backend_interagg’ has no attribute ‘FigureCanvas’. Did you mean: ‘FigureCanvasAgg’? 如下图所示: 根据提示,错误原因是没有设置FigureCanvas参数,该参数用于指定matplotlib的绘图后端参数backen,经查询,采用以下三句代码引用matplotlib库即可解决问题 import matplotlib matplotlib.use(‘TkAgg’) import matplotlib.pyplot as plt 即在使用matplotlib库前,先直接指定backen参数,其中,matplotlib的backen参数有以下可选项 [‘GTK3Agg’, ‘GTK3Cairo’, ‘GTK4Agg’, ‘GTK4Cairo’, ‘MacOSX’, ‘nbAgg’, ‘QtAgg’, …

[Python] matplotlib 绘图坐标轴标题显示不全

实干、实践、积累、思考、创新。 发现采用matplotlib绘图,坐标轴刻度太长时,坐标轴标题显示不全或者退距异常的情况,如下图。 解决办法很简单,只需要增加下面一行代码即可: plt.tight_layout() 相关博文( Related Topics) [01]. Python 出现”invalid literal for int() with base 10: \xef\xbb\xbf0″ 错误 [02]. [编程笔记] Tuple in Python [Python中的元组] [03]. [Python][编程][笔记] Python海龟绘图 —— 多边形 Polygon [04]. [Python][编程][笔记] Python符号计算——求偏微分方程 (Python …

[下载][软件] ExtractRows: Extract/delete the content of the specified line range to form a new file [提取/删除指定行]

实干、实践、积累、思考、创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 程序基本功能,导入文本文件,指定行范围,提取或删除指定行范围的文件,形成新的文件。 为何会写这个软件,今天遇到的问题是,需要处理一个较大的文本文件,上百万行。用鼠标选择某些行范围的时候,操作非常不方便,于是就写了这个程序来处理。有需要的朋友可以看看。 程序下载( Program Download) (  如需要软件,请在评论区留下您的评论,软件会发送到您的评论邮箱,敬请尊重劳动成果 !!)   ( 大家注意评论邮箱要填写正确,后台自动发送,邮箱填写错误,发送不到。) 相关资料 ( Related Programs) [01] [下载][软件] RC梁纵向钢筋单排最大根数[Maximum Number of Beam Longitudinal Reinforcing Bars] [02] …

[日志][编程] 记录一个非常痛苦的排Bug过程

实干、实践、积累、思考、创新。 作为一个编程老鸟,自认为面对各种bug都能解决和心中有数。但是有时候碰到一些及其隐秘的bug也是会让人心急如焚甚至搞自闭。 记录一下这次的bug。实际上,也不算代码的bug。这次的问题是,一个自编的C++库,放在了两个路径上,但是同时都包含到了程序的检索路径里,按道理已经设置了宏不会重复访问,但是编译器还是出问题,导致编程结果出现非常奇怪异常,一开始以为是代码问题,排查了很久,由于代码本身没问题,差点爆炸,后面才检查到了路径问题上。 MARK一下。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[程序][Web开发] GB_SPECT_Web: 国标反应谱计算工具 网络版 [Chinese Design Code Response Spectrum Curve Generator —— Online version]

实干、实践、积累、思考、创新。 程序图标( Icon ) 程序介绍 ( Introduction) GB_SPECT_Web 是一个网页版的绘制反应谱的程序,是这两天练习Web开发编写的一个非常简单的程序。 程序的功能是生成抗规 GB 50011-2010 《建筑抗震设计规范》的设计反应谱曲线,并可保存为EXCEL数据表。 程序的地址是:http://www.jdcui.com/GBSPECT/ 使用者可以在 浏览器(Chrome、Edge、Firefox 等)中输入上述地址,即可直接使用,运行效果如下: Chrome浏览器的显示效果: Firefox 浏览器的显示效果: 这个程序是改编至原来的 windows桌面版程序 GB_SPECT,原先的GB_SPECT经历了两个版本的更新,下载地址如下: GB-SPECT V2014: [下载][软件][规范]GB-SPECT V2014: Chinese Code’s Design Response Spectrum[中国规范反应谱生成程序] GB-SPECT …

[编程训练] 轴压比超限附加钢骨

实干、实践、积累、思考、创新。 团队成员 吴金诚 (WJC) 的 程序编程训练作品。 软件功能是通过构件的轴压比,反算需要附加的钢骨。 程序出入参数:轴压比限值、轴压比、初始含钢率、混凝土抗压强度、钢材抗压强度。 程序输出参数:附加含钢率、总含钢率。 程序运行效果如下 程序编制公式推导如下 设定以下变量 \({\mu _0}\) — 初始轴压比 \({\mu _1}\) — 轴压比限值 \({\rho _0}\) — 初始含钢率 \({\rho _1}\) — 总含钢率 \({\rho _a}\)—附加含钢率 …

[编程笔记] Python符号计算——求偏微分方程 (Python symbolic computation — solving partial differential equations)

实干、实践、积累、思考、创新。 最近忙,放松时间学学python。 python中的 sympy库是一款符号运算库,功能强大。这里测试其求微分方程的功能。The sympy library in python is a symbolic operation library with powerful functions. Here we test its function of finding differential equations. 我们可以试试用sumpy求解单自由度粘滞阻尼体系自由振动的运动方程。We can try to use …

[编程笔记] Python海龟绘图 —— 多边形 (Python turtle drawing – polygon)

实干、实践、积累、思考、创新。 最近工作比较忙,撸撸python代码放松一下,用python的turtle库绘图,重新学习python。       相关话题 ( Related Topics) [01]. Python 出现”invalid literal for int() with base 10: \xef\xbb\xbf0″ 错误 [02]. [编程笔记] Tuple in Python [Python中的元组] [03]. [Python][编程][笔记] Python海龟绘图 —— 多边形 Polygon 微信公众号 ( Wechat Subscription) …

[编程笔记] Visual Studio 2019 设置引用提示错误 “对COM组件的调用返回了错误 HRESULT E_FAIL”

实干、实践、积累、思考,创新。 用Visual Studio编程程序.NET程时,设置引用时弹出如下“对COM组件的调用返回了错误 HRESULT E_FAIL”的错误窗口,无法设置引用的库。 后百度找到方法,就是管理员方式调用 Developer Command Prompt for Vs 2019,然后将路径设置到 PublicAssemblies的情况下,运行 gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll 然后重新打卡 Visual Studio 2019 就可以了。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[数学][几何] 费马螺线 [Fermat’s Spiral]

实干、实践、积累、思考,创新。 费马螺线 Fermat’s spiral的极坐标公式如下: 其中其中 a 为实数,θ为转角。 对于任意给定的正值θ,可以有两个r的取值,分别按以下公式: 我们可以通过以下公式将极坐标转换为笛卡尔坐标: x = r*cos(θ); y =r*sin(θ); 接下来可以用过EXCEL绘制费马螺线,如下 最后我们可以把曲线导入之前的编写的 GAAGM软件 [软件][工具][编程] GAAGM: Graph Animation and Animated Gif Maker [曲线图动画及Gif动图生成工具],制作漂亮的曲线动画。   相关博文 ( Related Topics) …

[数学][编程][混沌] 虫口模型的数值模拟 [Numerical simulation of insect population model]

实干、实践、积累、思考,创新。 1976 年 , 美国数学家梅 (May .R ) 在美国 《 自然 》 杂志上发表的题为 “ 具有复杂的动力学的简单模型 ” 文章中指出 , 在生态学中一些非常简单的确定性的数学模型却能产生看似随机的行为。如虫口模型:xn+ 1= μxn ( 1 -x n ),其中 xn 是第n 年的虫口数,xn+ 1 …

[编程][笔记] 如何将n^m个可能枚举出来?

实干、实践、积累、思考,创新。 如题 如何将n^m个可能枚举出来?通常枚举实现,直觉想到的就是用循环。 对于n和m很大的时候,写循环显然不可能。另外且当n和m都是运行时确定时,不管n和m是大还是小,都无法用循环了,因为用循环就意味着代码写死了。 最后想了一下,对于这种情况,可以用进制的方式进行实现。 n^m,相当于一个m维的数组,每个数组的取值可能有n个,那么m维数组,总的可能数就有n^m个。 举几个例子 2^m,可以表示为一个2进制位数 4^m,可以表示为一个4进制位数 具体的 2^2,一共有4种可能,具体情况如下: 1: 0 0 2: 1 0 3: 0 1 4: 1 1 3^2,一共有9种可能,具体情况如下: 1: 0 0 2: 1 0 …

[编程训练][软件] 粒子群优化算法求解无约束最优化问题 [Particle Swarm Optimization Algorithm for Solving Unconstrained Optimization Problems]

实干、实践、积累、思考,创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 假期花了几天研究粒子群优化算法,顺便写了这个小工具,简单测试无约束最优化问题,也顺便训练一下编程。 软件自带几个经典的PSO粒子群优化算法测试函数,具体包括: 0: Sphere 1: Eggcrate 2: Rosenbrock 3: Ackley 4: Schaffer 5: Rastrigrin 6: Cigar 7: Griewangk 8: Schwefel 几个函数的图像可以在这个博文查看:[笔记][智能算法]几个经典的PSO粒子群优化算法测试函数 (Benchmark …

[编程训练] BMP图像缩放 (BMP Image Scaling)

实干、实践、积累、思考,创新。 其他程序用到,就研究一下。 导入BMP图像,设置70%缩放: 导入BMP图像,设置50%缩放: 导入BMP图像,设置20%缩放: 相关博文 ( Related Topics) [01] [编程][算法][几何] 编程训练: 凸包问题 [Convex-Hull Problem] [02] [编程][算法][几何] 编程训练: 离散点的闭合路径 [Closed Path for points] [03] [编程][算法][几何] 编程训练: 3次B样条曲线 [Cubic BSpline] [04] …

[软件] GAAGM: Graph Animation and Animated Gif Maker [曲线图动画及Gif动图生成工具][滞回曲线动画演示]

实干、实践、积累、思考,创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 曲线图动画及Gif动图生成工具,可以用于制作一些数据演示。 程序界面 ( Program Interface ) 程序演示视频: 以下是测试的几个例子 生成的GIF动图。 (1)滞回曲线 (2)地震波时程 (3)SIN函数 (4)螺旋线 下载 ( Download ) (  如果您需要使用这个软件,请在这给网站捐助:http://www.jdcui.com/?page_id=4813,捐助不少于【200RMB】,捐助后在评论区留下您的评论,软件将通过网站管理员QQ:3014479529给您发送,敬请尊重劳动成果 !!!) 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

新书《结构地震反应分析 编程与软件应用》出版了!!

实干、实践、积累、思考、创新。 新写的一本书快要出版了,书的题目是《结构地震反应分析 编程与软件应用》,这是继《PERFORM-3D原理与实例》、《有限单元法 编程与软件应用》后,www.jdcui.com的第三本书,主题是结构地震动力计算,依然是一本实用的基础的书籍,将理论、编程及软件应用结合,通过典型的小例子手把手教大家编程及使用软件。终于在年前拿到了出版社的样稿,印刷效果还是不错。 查了一下已经可以在京东购买了。以下是几个购买连接: 中国建筑工业出版社官方旗舰店: https://item.jd.com/10043957730709.html 中国建筑书店有限责任公司图书专营店:https://item.jd.com/10043957749812.html 顺带也贴一下目录吧: 年后再详细介绍这本书!!! 😛 🙂  公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[笔记][编程] 查询Access,出现异常 “IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”

实干、实践、积累、思考,创新。 用C#编写程序,查询Access数据库时,出现异常“IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。” 后检查发现,SELECT 语句查询语句的 表的名称Section有冲突,将 Section加上”[ ]”修饰即可。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[数学][编程] 蒙特卡洛模拟法求圆周率π (Monte Carlo method to find PI)

实干、实践、积累、思考、创新! 蒙特· 卡罗方法是一种通过概率来得到问题近似解的方法。其实之前也测试过,用在这个投针求PI([数学][概率] Buffon’s Needle problem [蒲丰投针问题]),最近又搞起算法研究,顺带再整体各种东西都测算一次吧。 蒙特· 卡罗方法求圆周率PI 网上很多例子。直接上图吧。   微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[LaTeX][Web][笔记] 利用MathJax 在网站上显示LaTeX公式

实干、实践、积累、思考、创新。 MathJax是一个开源的JavaScript库,专门用于在浏览器中显示LaTeX、MathMl 和 AsciiMath,适用于所有浏览器。 这个是MathJax的官网:https://www.mathjax.org/ 之前在博客上的公式基本都是图片,看以后有没有可能尝试用LaTeX在博客上写公式,估计是有点难。。。。 以下是几个MathJax显示的LaTex公式,效果还是可以的。 $$E=mc^2$$ $$E=mc^2$$ $$E=mc^2$$ \(E=mc^2\) \(E=mc^2\) \(E=mc^2\) \(x = {-b \pm \sqrt{b^2-4ac} \over 2a}\) 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号