![72a39ecc8623e9f8a8a7548b98360abe.png](https://i-blog.csdnimg.cn/blog_migrate/e03e7cca609b1cae05c7853233abb48a.jpeg)
作者:连玉君 (中山大学, arlionn@163.com)
连享会主页: https://gitee.com/arlionn/Course
![932c14531c629bfb1d011040388d7dc5.png](https://i-blog.csdnimg.cn/blog_migrate/ad99601e6b3f97ae6211c3ce15acad8a.png)
目录
- 1. 问题背景
- 2. 查找 Bug 过程记录
- 3. 过程模拟重现
- 报错代码
- 正常代码
- 4. 结论
- 问题描述
- 解决办法
- 5. 额外说明
- 6. 插曲:排查的思路
- 关于我们
1. 问题背景
这两天在紧锣密鼓地准备 「连享会直播:动态面板数据模型」,发现了一件悲催的事情:运行这条我执行过几百次的 xtabond y x
命令,居然报错:
![7fd16d3a013d486596fe2d7b93c3246a.png](https://i-blog.csdnimg.cn/blog_migrate/450083517d7f81fc6e022950977d2738.jpeg)
于是开始了一段快乐又痛苦的查错之旅。最终发现是 xtabond
和 xtdpd
命令存在一个小 Bug。而我之前在 Profile.do 文件中的设定正是触发这个小 Bug 的那颗子弹。
最终的解决办法很简单:删除 Profile.do 文件中的如下两条命令,然后重启 Stata 即可:
set showemptycells on, permanently
set showomitted on, permanently
2. 查找 Bug 过程记录
输入如下命令得到报错信息,追踪错误来源:
xtarsim y x eta, n(1000) t(10) gamma(0.1) beta(1.3) rho(0.2) ///
one(corr 3) sn(9) seed(1234)
*-GMM
cls // 清屏
set trace on // 追踪错误来源
xtabond y x
错误信息如下:
……
- local options2 : subinstr local options " " "", all
- if `"`options2'"' != "" {
= if `"noemptycellsnoomitted"' != "" {
- di as err "option `options2' not allowed"
= di as err "option noemptycellsnoomitted not allowed"
option noemptycellsnoomitted not allowed
- exit 198
}
------------------------------- end xtdpd.Estimate ---
------------------------------------------ end xtdpd ---
------------------------------------------ end xtabond ---
r