mirror of
https://github.com/wolfpld/tracy.git
synced 2026-09-14 06:18:12 +00:00
Always dim out external frames.
This commit is contained in:
2
NEWS
2
NEWS
@@ -15,7 +15,7 @@ vx.xx.x (2026-xx-xx)
|
||||
- Flame graph window.
|
||||
- Call stack window.
|
||||
- Statistics window (sampling mode).
|
||||
- External frames are now dimmed out in call stack tooltips.
|
||||
- External frames are now dimmed out in call stacks.
|
||||
- Single-line call stacks now have ellipsis at the end, if there are frames
|
||||
remaining.
|
||||
- System tracing on Windows has been refactored to be more robust.
|
||||
|
||||
@@ -4586,7 +4586,7 @@ Stack frame location may be displayed in the following number of ways, depending
|
||||
|
||||
In some cases, it may not be possible to decode stack frame addresses correctly. Such frames will be presented with a dimmed '\texttt{[ntdll.dll]}' name of the image containing the frame address, or simply '\texttt{[unknown]}' if the profiler cannot retrieve even this information. Additionally, '\texttt{[kernel]}' is used to indicate unknown stack frames within the operating system's internal routines.
|
||||
|
||||
External frames from system libraries are hidden by default. Enabling the \emph{\faShieldHalved{}~External} option will show these frames, which can be useful for debugging issues in external code.
|
||||
External frames from system libraries are hidden by default. Enabling the \emph{\faShieldHalved{}~External} option will show these frames, which can be useful for debugging issues in external code. When external frames are displayed, they are dimmed out.
|
||||
|
||||
The \emph{\faScissors{}~Short images} option shortens the displayed executable image name to only the file name. The full path is available in the tooltip.
|
||||
|
||||
|
||||
@@ -414,7 +414,8 @@ void View::DrawCallstackTable( const CallstackFrameId* data, size_t size, uint64
|
||||
auto filename = m_worker.GetString( frame.file );
|
||||
auto image = frameData->imageName.Active() ? m_worker.GetString( frameData->imageName ) : nullptr;
|
||||
|
||||
if( IsFrameExternal( filename, image ) )
|
||||
const bool isExternal = IsFrameExternal( filename, image );
|
||||
if( isExternal )
|
||||
{
|
||||
if( !m_showExternalFrames )
|
||||
{
|
||||
@@ -466,6 +467,19 @@ void View::DrawCallstackTable( const CallstackFrameId* data, size_t size, uint64
|
||||
{
|
||||
TextColoredUnformatted( 0xFF8888FF, txt );
|
||||
}
|
||||
else if( isExternal )
|
||||
{
|
||||
if( m_vd.shortenName == ShortenName::Never )
|
||||
{
|
||||
TextDisabledUnformatted( txt );
|
||||
}
|
||||
else
|
||||
{
|
||||
const auto normalized = ShortenZoneName( ShortenName::OnlyNormalize, txt );
|
||||
TextDisabledUnformatted( normalized );
|
||||
TooltipNormalizedName( txt, normalized );
|
||||
}
|
||||
}
|
||||
else if( m_vd.shortenName == ShortenName::Never )
|
||||
{
|
||||
ImGui::TextUnformatted( txt );
|
||||
|
||||
Reference in New Issue
Block a user