请教一个关于__FILE__, __LINE__的问题

fqking 2008-12-26 04:31:08
我在一个小的日志系统中 使用了这2个家伙来使日志信息更准确..

可是等我把系统部署到服务器上去的时候, 就出问题了core了. 我一看 是__FILE__定位源文件的时候找不到导致的.. 我把源码丢过去就好了.

可是这样不行啊 偶不能把源码也丢服务器上去啊. 囧 我要怎样让这玩意脱离源码执行啊??
...全文
202 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fqking 2008-12-29
  • 打赏
  • 举报
回复
顶起... 等解答.
hityct1 2008-12-29
  • 打赏
  • 举报
回复
mark
MAlice 2008-12-29
  • 打赏
  • 举报
回复
帮顶
fqking 2008-12-29
  • 打赏
  • 举报
回复
我把情况说明下吧

使用的代码是这样的:

日志函数定义:
void Debug(const char* pFileName, int iLine,int iLevel, const char *sLog, ...)

使用的列子
Debug(_FL_, DEBUG_BASE_FLOW, "server found a login request : %s", strAuth.c_str());


ps: #define _FL_ __FILE__, __LINE__


我是将编译的DEBUG丢到了服务器上, 运行的时候 __FILE__会报错 找不到../xxx.cpp 然后core掉 而xxx.cpp就是我调用这个日志函数的地方
fqking 2008-12-29
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 Maxwell 的回复:]
__FILE__在预处理时就变成对应的文件名了,所以估计不太会是__FILE__的缘故。不知道你是不是根据__FILE__打开了对应的文件或者是对文件进行了某种操作,而不是仅仅将这个字符串写到日志中?
你说的也可能是ASSERT的对话框,里面会有xxx.cpp的yy行的提示,你看一下那一行有什么操作。
[/Quote]

只是打印, 没有其他操作... 刚才又试了一次, 好像又好了. 奇怪

谢谢各位, 结贴了.
Maxwell 2008-12-29
  • 打赏
  • 举报
回复
__FILE__在预处理时就变成对应的文件名了,所以估计不太会是__FILE__的缘故。不知道你是不是根据__FILE__打开了对应的文件或者是对文件进行了某种操作,而不是仅仅将这个字符串写到日志中?
你说的也可能是ASSERT的对话框,里面会有xxx.cpp的yy行的提示,你看一下那一行有什么操作。
踏岸寻柳 2008-12-27
  • 打赏
  • 举报
回复
没道理啊!~~~
难道你是根据这个__FILE__来写日志的?
lsd1025 2008-12-26
  • 打赏
  • 举报
回复
没用过,我一般用API函数找目录,
arong1234 2008-12-26
  • 打赏
  • 举报
回复
尤其不能根据这个信息去找目录
arong1234 2008-12-26
  • 打赏
  • 举报
回复
为什么你要依赖_FILE_来定位文件?定位什么文件?你得程序不应该依赖任何编译时候得信息
xiaoyisnail 2008-12-26
  • 打赏
  • 举报
回复
__FILE__, __LINE__这些预定义宏一般在debug的时候用用吧,release版本不要用
可以用log4cpp啊
icesky_ff 2008-12-26
  • 打赏
  • 举报
回复
帮顶
fqking 2008-12-26
  • 打赏
  • 举报
回复
顶起来... 我以前貌似见过的系统是可以脱离的 不过那时候没在意 以为本来就这样..

现在自己写了才出问题.. 有没大大清楚的......... 急啊..
genius_tong 2008-12-26
  • 打赏
  • 举报
回复
学习一下,关注
xianyuxiaoqiang 2008-12-26
  • 打赏
  • 举报
回复
帮顶

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧