问题标签 [pantheios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1351 浏览

c++ - 万神殿的第一次机会例外

我的应用程序运行良好,直到我尝试使用应用程序验证程序对其进行调试。之后,我开始收到“第一次机会异常...:指定了无效句柄”,问题似乎出在 Pantheios 的“bailout.c”文件中:

并留言:

在控制台刚刚记录了我使用 Pantheios 得到的异常之前,我并没有太在意。但是,现在当应用程序在第一次使用 Pantheios 进行日志记录时崩溃时,我该处理这个问题了,但我不太确定如何处理。

我在设置我的 Pantheios 时遵循本指南:http: //www.codeproject.com/Articles/27119/Using-Callback-Back-ends-with-the-Pantheios-Loggin

在我记录的每个文件中,源文件中都有以下几行:

logs.h 包含:

我也在pantheios::init();做任何记录之前打电话。

我正在使用 Visual Studio 2010,并且在“附加依赖项”下包含以下库文件:

但是,我的所有日​​志记录如下所示:

myapp.exe 中 0x750bb9bc 处的第一次机会异常:Microsoft C++ 异常:stlsoft::winstl_project::windows_exception 在内存位置 0x1822bda0..

20120423-104817.497:无法将消息写入日志文件;给定消息如下:[myapp.Qt.Framework.13424, 23/04/2012 10:48:17.496 am; 调试]:“一些日志记录”

打电话时pantheios::log(pantheios::debug, "some logging");

然后,我的所有日​​志都被写入项目所在文件夹中的“救助”文件中。这以前有效,但它在我的“待办事项清单”上是一个大子弹(但比其他事情更进一步)。

所以现在我的问题是,我该如何解决这个问题?遵循我能找到的每个教程,但没有成功。为什么我的应用在运行 Ms Application Verifier 后决定不再接受这个?没有意义。

0 投票
1 回答
454 浏览

c++ - 我知道 pantheios 是线程安全的,但它是进程间安全的吗?

我知道 pantheios 是线程安全的,我已经很好地使用了它,但它是进程间安全的吗?

这意味着不同的模块(不同的exes)可以同时安全地登录到同一个日志文件吗?

如果是这样,我需要为它设置任何特殊设置吗?

顺便说一句:我没有为 pantheiso 设置任何特别的东西,默认情况下它已经是线程安全的。

0 投票
1 回答
274 浏览

c++ - Pantheios 未使用 MFC 应用程序登录到一个文件包含(一个 exe + 两个 DLL)

我有一个由一个 exe 和两个 DLL 组成的 MFC 应用程序。exe 从这两个 DLL 调用函数。现在我正在尝试使用 Pantheios 日志库添加一些日志记录。

我想要实现
的目标: exe 和两个 DLL 都记录到硬盘驱动器中的同一个日志文件中。

这是我所做的:

1)在主exe程序中使用隐式链接:



在我需要添加我使用的日志记录的主 exe 程序中(在查看了 SO 中的这个链接PANTHEIOS_BE_FILE_F_SHARE_ON_WINDOWS之后):

这工作正常,我可以按预期登录 c:\TestLog.log 文件。但是,我根本无法在这两个 DLL 中进行日志记录,它只会为每个日志记录调用提供错误:

说令牌是空的,所以我用谷歌搜索并找到了一个解决方案:

2)我需要打电话:

对于每个 DLL 在其DllMain函数中的初始化。这样,当我尝试登录 DLL 时,不再出现“空令牌”错误,但日志文件中的 DLL 仍然没有记录任何内容(同样,主 exe 程序很好)。

3)我稍微调整了一下,我必须更改 DLL 日志中的日志文件名,以便它们都记录到不同的文件:

DLL #1:

DLL #2:

这样我就有 3 个日志文件都可以正常工作:

  • 主程序的 TestLog.log
  • DLL #1 的 TestLogDll1.log
  • DLL #2 的 TestLogDll2.log

但是我仍然无法让两个 DLL 都记录到与主 exe 相同的文件(TestLog.log)。

0 投票
0 回答
425 浏览

c++ - 对`pantheios_init`的未定义引用

我正在尝试使用 pantheios,我阅读了本教程-> http://binglongx.wordpress.com/2010/08/30/pantheios-logging-library-installation-and-use/

make buildmake test没问题,我得到了很多“成功”

但是当我尝试包含这些文件时,我遇到了一些错误

错误:

STLSOFT 没问题。

g++编译

我的 gcc 版本是:gcc 版本 4.4.5 (Debian 4.4.5-8),我构建了gcc44.unix目录。

我正在使用pantheios-1.0.1-beta213(最新)

是链接错误吗?

0 投票
1 回答
656 浏览

c++ - Pantheios 在 C++ 中设置显示级别

我正在使用 Pantheios 库进行日志记录。我有:

哪个输出:

但我想在显示信息和调试之间进行选择:

哪个输出:

0 投票
1 回答
254 浏览

c++ - Pantheios 和 boost::thread

我在使用带有 boost::threads 的 pantheios 日志库时遇到了一些问题。似乎如果我在创建线程之前使用任何 pantheios 日志记录,我会得到一个段错误。

例如,以下将起作用:

但是如果切换语句的顺序,堆栈跟踪会显示我start_thread在 boost 中崩溃了。

有任何想法吗?

编辑:更多上下文

这将在start_thread. 如果我再次交换其中的两条线,main它将毫无问题地工作。

0 投票
2 回答
103 浏览

c++ - pantheios 会捕获段错误吗?

我在 C++ 中使用 pantheios 日志库,我没有发现 pantheios 是否可以捕获段错误,然后在退出之前强制打印缓冲区数据。

我可以捕捉到段错误,但我没有找到最终打印包含我的日志的缓冲区的方法。

Rgds,

0 投票
1 回答
64 浏览

permissions - 如何更改 Pantheios 日志文件的权限

我使用 Pantheios 作为我的伐木甜品。使用它的进程当前归root所有,它创建的日志文件不会为所有用户创建具有读取权限的进程:-rwxr-x---, 1 root root process.log

如何强制创建文件对每个人都可读?

0 投票
0 回答
511 浏览

c++ - 如何使用 pantheios 创建日志文件?

我的问题类似于如何使用 pantheios 登录到文件中发布的问题?遵循这些步骤,但仍然无法使用 pantheios 库创建日志文件。它显示在控制台中,但未创建日志文件。

而且我也不知道如何使用 pantheios_be_file_init 和 pantheios_be_file_logEntry 函数。

0 投票
1 回答
527 浏览

c++ - 带有 VS C++ 2008 编译器的 Qt 创建器中的 Pantheios

我无法使用VS2008 C++ 编译器在Qt Creator(使用 VS2008 编译器从源代码编译的创建者 2.5.2 + SDK 4.8.2 )中使用Pantheios(版本 1.0.1-beta210)记录器编译我的项目。但它适用于 Visual Studio 2008!

  1. 首先,我编译了 Pantheios 库,因为它应该使用 VS 命令行和带有路径的 nmakepantheios_path\build\vc9\

  2. 然后我用VS2008和Qt Addin编写了一个简单的Qt程序,它工作正常:

    /li>
  3. 但是当我将它导出到 Qt Creator 项目时,它不想与错误链接:

    顺便说一句,在project.pro我设置的文件中:

    /li>
  4. 我也尝试通过以下方式更改 LIBS 变量:

    得到这个:

    /li>

我还尝试了不同的组合:

谁能给我一个有用的建议?也许有人在 Qt Creator 下使用 Pantheios ......