【发布时间】:2022-01-14 03:16:54
【问题描述】:
在调试问题时,我添加了一些tracepoints,将size() 的std::queue 打印为
The size of the queue is {mQueue.size()}
但我在“输出”窗口中看到此消息
The size of the queue is Function std::queue<Foo>::size has no address, possibly due to compiler optimizations.
如果我此时闯入代码,我确实会看到 size
mQueue
c: { size=0 }
[Raw View]: {c={ size=0 } }
但如果我再次尝试mQueue.size(),我会看到相同的日志
Function std::queue<Foo>::size has no address, possibly due to compiler optimizations.
有没有办法在跟踪点中获取size(),而不是通过更改代码来将大小存储在某个变量中并可能打印出来?我尝试包装在#pragma optimize( "", off ) 中添加跟踪点的函数,但无济于事。如果可能的话,我还想避免将链接器选项更改为/DEBUG:FULL。
【问题讨论】:
标签: c++ visual-studio