Debugging LazReport没有';不要在第二台机器上工作
我有两台电脑——Ubuntu12.04+Lazarus。我们叫他们A和B吧 我在a上开发了一个程序,效果很好。 我使用Lazarus在B上运行相同的程序,效果很好 然后我在a上编制一个编译程序(二进制),然后在B上尝试。现在问题开始了 除了没有任何报告(LazReport)出现外,一切正常。没有错误。只是没有回应。程序继续运行,没有崩溃,只是没有响应。这怎么可能 线索:Debugging LazReport没有';不要在第二台机器上工作,debugging,lazarus,Debugging,Lazarus,我有两台电脑——Ubuntu12.04+Lazarus。我们叫他们A和B吧 我在a上开发了一个程序,效果很好。 我使用Lazarus在B上运行相同的程序,效果很好 然后我在a上编制一个编译程序(二进制),然后在B上尝试。现在问题开始了 除了没有任何报告(LazReport)出现外,一切正常。没有错误。只是没有回应。程序继续运行,没有崩溃,只是没有响应。这怎么可能 线索: 在机器A和B上,我安装了软件(Lazarus)作为默认的管理员用户 在机器B上,我有另一个用户帐户,但这是一个标准用户 在机器
gksu-u admin-w startazarus
,但仍然没有变化ldd
的输出:
linux-gate.so.1 => (0xb76f3000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb76c3000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb758f000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb756d000)
libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb7105000)
libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb7056000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb7007000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6f0e000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6f0a000)
libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb6f05000)
libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6ebb000)
libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6df0000)
libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6dd0000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6dca000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6c20000)
/lib/ld-linux.so.2 (0xb76f4000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6bff000)
libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6aa8000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6a7c000)
libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb6a6e000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb6a68000)
libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6a3c000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6a08000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb69f6000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb69eb000)
libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb69e7000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb69d7000)
libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb69ce000)
libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb69c3000)
libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb69be000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb69ba000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb69b3000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6977000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb696e000)
libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb68d5000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb683b000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb6811000)
libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb680d000)
libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb6803000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb67ec000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb67e8000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb67e1000)
libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb67c2000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb67aa000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb677f000)
除了括号内的十六进制数不同外,它们在机器A和B上看起来相同。除此之外,这是相同的线对线
编辑:更多信息-新发现
我打开了一个候机楼。然后是鹦鹉螺。然后,我运行二进制文件,在尝试报告时,在终端中出现以下错误:
[警告]在没有句柄的情况下调用SetAlphaBlend
frProgressForm(TfrProgressForm)
我不知道,但我相信这就是窃听器。我也没有像上面提到的那样的表单。很显然,正如我后来发现的那样,虽然应用程序的其余部分可以在开发文件夹之外工作,但报表在开发文件夹之外无法工作
解决方案是简单地复制报告文件(.lrf)并将其放入包含二进制文件的目标文件夹中。我被“我在a上开发了一个程序。它工作正常。我使用Lazarus在B上运行相同的程序,它工作正常”弄糊涂了-您如何运行它-您的下一个语句意味着传输二进制文件失败。当您在a和B上运行二进制文件时,
ldd
的输出显示二进制文件的什么内容?首先,非常感谢您向我展示ldd
。我在寻找一种识别依赖关系的方法。第二,哇!这在输出中是一个很大的列表,但老实说,我不能从中获得太多的意义。它只列出依赖项-没有任何类型的错误。我想我们正在寻找一个不匹配的。我很快就会把结果贴上去。@SB。我已经发布了ldd输出并发表了评论。是一样的。@SB。作为对您第一条评论的回应,我能够在有IDE和无IDE的两台机器上运行(即,使用二进制)。但在第二台机器上,报告不起作用。这是我的问题。