社区
Eclipse
帖子详情
there are no resource that can added or remove from the reserve
Rye493
2021-05-05 10:21:41
有,.setings 和. project文件,jdk版本选的是15 web是1.0,不知道为啥就是添加不了。求大佬看看。
...全文
181
2
打赏
收藏
there are no resource that can added or remove from the reserve
有,.setings 和. project文件,jdk版本选的是15 web是1.0,不知道为啥就是添加不了。求大佬看看。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Rye493
2021-05-12
打赏
举报
回复
引用 1 楼 usecf的回复:
jdk版本太高了 web一般都是选择3.0的 把jdk版本改成jdk1.7或者1.8的
好的,谢谢您。
usecf
2021-05-12
打赏
举报
回复
jdk版本太高了 web一般都是选择3.0的 把jdk版本改成jdk1.7或者1.8的
微软内部资料-SQL性能优化2
Contents Module Overview 1 Lesson 1: Memory 3 Lesson 2: I/O 73 Lesson 3: CPU 111 Module 3: Troubleshooting
Serve
r Performance Module Overview Troubleshooting
serve
r performance-bas
ed
support calls requires product knowl
ed
ge, good communication skills, and a proven troubleshooting methodology. In this module we will discuss Microsoft® SQL
Serve
r™ interaction with the operating system and methodology of troubleshooting
serve
r-bas
ed
problems. At the end of this module, you will be able to: Define the common terms associat
ed
the memory, I/O, and CPU subsystems. Describe how SQL
Serve
r leverages the Microsoft Windows® operating system facilities including memory, I/O, and threading. Define common SQL
Serve
r memory, I/O, and processor terms. Generate a hypothesis bas
ed
on performance counters captur
ed
by System Monitor. For each hypothesis generat
ed
, identify at least two other non-System Monitor pieces of information that would help to confirm or reject your hypothesis. Identify at least five counters for each subsystem that are key to understanding the performance of that subsystem. Identify three common myths associat
ed
with the memory, I/O, or CPU subsystems. Lesson 1: Memory What You Will Learn After completing this lesson, you will be able to: Define common terms us
ed
when describing memory. Give examples of each memory concept and how it applies to SQL
Serve
r. Describe how SQL
Serve
r user and manages its memory. List the primary configuration options that affect memory. Describe how configuration options affect memory usage. Describe the effect on the I/O subsystem when memory runs low. List at least two memory myths and why they are not true. Recommend
ed
Reading SQL
Serve
r 7.0 Performance Tuning Technical Reference, Microsoft Press Windows 2000
Resource
Kit companion CD-ROM documentation. Chapter 15: Overview of Performance Monitoring Inside Microsoft Windows 2000, Third
Ed
ition, David A. Solomon and Mark E. Russinovich Windows 2000
Serve
r Operations Guide, Storage, File Systems, and Printing; Chapters: Evaluating Memory and Cache Usage Advanc
ed
Windows, 4th
Ed
ition, Jeffrey Richter, Microsoft Press Relat
ed
Web Sites http://ntperformance/ Memory Definitions Memory Definitions Before we look at how SQL
Serve
r uses and manages its memory, we ne
ed
to ensure a full understanding of the more common memory relat
ed
terms. The following definitions will help you understand how SQL
Serve
r interacts with the operating system when allocating and using memory. Virtual
Add
ress Space A set of memory
add
resses that are mapp
ed
to physical memory
add
resses by the system. In a 32-bit operation system, there is normally a linear array of 2^32
add
resses representing 4,294,967,269 byte
add
resses. Physical Memory A series of physical locations, with unique
add
resses, that can be us
ed
to store instructions or data. AWE –
Add
ress Windowing Extensions A 32-bit process is normally limit
ed
to
add
ressing 2 gigabytes (GB) of memory, or 3 GB if the system was boot
ed
using the /3G boot switch even if there is more physical memory available. By leveraging the
Add
ress Windowing Extensions API, an application can create a fix
ed
-size window into the
add
itional physical memory. This allows a process to access any portion of the physical memory by mapping it into the applications window. When us
ed
in combination with Intel’s Physical
Add
ressing Extensions (PAE) on Windows 2000, an AWE enabl
ed
application can support up to 64 GB of memory Reserv
ed
Memory Pages in a processes
add
ress space are free, reserv
ed
or committ
ed
. Reserving memory
add
ress space is a way to re
serve
a range of virtual
add
resses for later use. If you attempt to access a reserv
ed
add
ress that has not yet been committ
ed
(back
ed
by memory or disk) you will cause an access violation. Committ
ed
Memory Committ
ed
pages are those pages that when access
ed
in the end translate to pages in memory. Those pages may however have to be fault
ed
in from a page file or memory mapp
ed
file. Backing Store Backing store is the physical representation of a memory
add
ress. Page Fault (Soft/Hard) A reference to an invalid page (a page that is not in your working set) is referr
ed
to as a page fault. Assuming the page reference does not result in an access violation, a page fault can be either hard or soft. A hard page fault results in a read from disk, either a page file or memory-mapp
ed
file. A soft page fault is resolv
ed
from one of the modifi
ed
, standby, free or zero page transition lists. Paging is represent
ed
by a number of counters including page faults/sec, page input/sec and page output/sec. Page faults/sec include soft and hard page faults where as the page input/output counters represent hard page faults. Unfortunately, all of these counters include file system cache activity. For more information, see also…Inside Windows 2000,Third
Ed
ition, pp. 443-451. Private Bytes Private non-shar
ed
committ
ed
add
ress space Working Set The subset of processes virtual pages that is resident in physical memory. For more information, see also… Inside Windows 2000,Third
Ed
ition, p. 455. System Working Set Like a process, the system has a working set. Five different types of pages represent the system’s working set: system cache; pag
ed
pool; pageable code and data in the kernel; page-able code and data in device drivers; and system mapp
ed
views. The system working set is represent
ed
by the counter Memory: cache bytes. System working set paging activity can be view
ed
by monitoring the Memory: Cache Faults/sec counter. For more information, see also… Inside Windows 2000,Third
Ed
ition, p. 463. System Cache The Windows 2000 cache manager provides data caching for both local and network file system drivers. By caching virtual blocks, the cache manager can r
ed
uce disk I/O and provide intelligent read ahead. Represent
ed
by Memory:Cache Resident bytes. For more information, see also… Inside Windows 2000,Third
Ed
ition, pp. 654-659. Non Pag
ed
Pool Range of
add
resses guarante
ed
to be resident in physical memory. As such, non-pag
ed
pool can be access
ed
at any time without incurring a page fault. Because device drivers operate at DPC/dispatch level (cover
ed
in lesson 2), and page faults are not allow
ed
at this level or above, most device drivers use non-pag
ed
pool to assure that they do not incur a page fault. Represent
ed
by Memory: Pool Nonpag
ed
Bytes, typically between 3-30 megabytes (MB) in size. Note The pool is, in effect, a common area of memory shar
ed
by all processes. One of the most common uses of non-pag
ed
pool is the storage of object handles. For more information regarding “maximums,” see also… Inside Windows 2000,Third
Ed
ition, pp. 403-404 Pag
ed
Pool Range of
add
ress that can be pag
ed
in and out of physical memory. Typically us
ed
by drivers who ne
ed
memory but do not ne
ed
to access that memory from DPC/dispatch of above interrupt level. Represent
ed
by Memory: Pool Pag
ed
Bytes and Memory:Pool Pag
ed
Resident Bytes. Typically between 10-30MB + size of Registry. For more information regarding “limits,” see also… Inside Windows 2000,Third
Ed
ition, pp. 403-404. Stack Each thread has two stacks, one for kernel mode and one for user mode. A stack is an area of memory in which program proc
ed
ure or function call
add
resses and parameters are temporarily stor
ed
. In Process To run in the same
add
ress space. In-process
serve
rs are load
ed
in the client’s
add
ress space because they are implement
ed
as DLLs. The main advantage of running in-process is that the system usually does not ne
ed
to perform a context switch. The disadvantage to running in-process is that DLL has access to the process
add
ress space and can potentially cause problems. Out of Process To run outside the calling processes
add
ress space. OL
ED
B providers can run in-process or out of process. When running out of process, they run under the context of DLLHOST.EXE. Memory Leak To re
serve
or commit memory and unintentionally not release it when it is no longer being us
ed
. A process can leak
resource
s such as process memory, pool memory, user and GDI objects, handles, threads, and so on. Memory Concepts (X86
Add
ress Space) Per Process
Add
ress Space Every process has its own private virtual
add
ress space. For 32-bit processes, that
add
ress space is 4 GB, bas
ed
on a 32-bit pointer. Each process’s virtual
add
ress space is split into user and system partitions bas
ed
on the underlying operating system. The diagram includ
ed
at the top represents the
add
ress partitioning for the 32-bit version of Windows 2000. Typically, the process
add
ress space is evenly divid
ed
into two 2-GB regions. Each process has access to 2 GB of the 4 GB
add
ress space. The upper 2 GB of
add
ress space is reserv
ed
for the system. The user
add
ress space is where application code, global variables, per-thread stacks, and DLL code would reside. The system
add
ress space is where the kernel, executive, HAL, boot drivers, page tables, pool, and system cache reside. For specific information regarding
add
ress space layout, refer to Inside Microsoft Windows 2000 Third
Ed
ition pages 417-428 by Microsoft Press. Access Modes Each virtual memory
add
ress is tagg
ed
as to what access mode the processor must be running in. System space can only be access
ed
while in kernel mode, while user space is accessible in user mode. This protects system space from being tamper
ed
with by user mode code. Shar
ed
System Space Although every process has its own private memory space, kernel mode code and drivers share system space. Windows 2000 does not provide any protection to private memory being use by components running in kernel mode. As such, it is very important to ensure components running in kernel mode are thoroughly test
ed
. 3-GB
Add
ress Space 3-GB
Add
ress Space Although 2 GB of
add
ress space may seem like a large amount of memory, application such as SQL
Serve
r could leverage more memory if it were available. The boot.ini option /3GB was creat
ed
for those cases where systems actually support greater than 2 GB of physical memory and an application can make use of it This capability allows memory intensive applications running on Windows 2000 Advanc
ed
Serve
r to use up to 50 percent more virtual memory on Intel-bas
ed
computers. Application memory tuning provides more of the computer's virtual memory to applications by providing less virtual memory to the operating system. Although a system having less than 2 GB of physical memory can be boot
ed
using the /3G switch, in most cases this is ill-advis
ed
. If you restart with the 3 GB switch, also known as 4-Gig Tuning, the amount of non-pag
ed
pool is r
ed
uc
ed
to 128 MB from 256 MB. For a process to access 3 GB of
add
ress space, the executable image must have been link
ed
with the /LARGE
ADD
RESSAWARE flag or modifi
ed
using Imagecfg.exe. It should be point
ed
out that SQL
Serve
r was link
ed
using the /LAREGE
ADD
RESSAWARE flag and can leverage 3 GB when enabl
ed
. Note Even though you can boot Windows 2000 Professional or Windows 2000
Serve
r with the /3GB boot option, users processes are still limit
ed
to 2 GB of
add
ress space even if the IMAGE_FILE_LARGE_
ADD
RESS_AWARE flag is set in the image. The only thing accomplish
ed
by using the /3G option on these system is the r
ed
uction in the amount of
add
ress space available to the system (ISW2K Pg. 418). Important If you use /3GB in conjunction with AWE/PAE you are limit
ed
to 16 GB of memory. For more information, see the following Knowl
ed
ge Base articles: Q171793 Information on Application Use of 4GT RAM Tuning Q126402 Pag
ed
PoolSize and NonPag
ed
PoolSize Values in Windows NT Q247904 How to Configure Pag
ed
Pool and System PTE Memory Areas Q274598 W2K Does Not Enable Complete Memory Dumps Between 2 & 4 GB AWE Memory Layout AWE Memory Usually, the operation system is limit
ed
to 4 GB of physical memory. However, by leveraging PAE, Windows 2000 Advanc
ed
Serve
r can support up to 8 GB of memory, and Data Center 64 GB of memory. However, as stat
ed
previously, each 32-bit process normally has access to only 2 GB of
add
ress space, or 3 GB if the system was boot
ed
with the /3-GB option. To allow processes to allocate more physical memory than can be represent
ed
in the 2GB of
add
ress space, Microsoft creat
ed
the
Add
ress Windows Extensions (AWE). These extensions allow for the allocation and use of up to the amount of physical memory support
ed
by the operating system. By leveraging the
Add
ress Windowing Extensions API, an application can create a fix
ed
-size window into the physical memory. This allows a process to access any portion of the physical memory by mapping regions of physical memory in and out of the applications window. The allocation and use of AWE memory is accomplish
ed
by Creating a window via VirtualAlloc using the MEM_PHYSICAL option Allocating the physical pages through AllocateUserPhysicalPages Mapping the RAM pages to the window using MapUserPhysicalPages Note SQL
Serve
r 7.0 supports a feature call
ed
extend
ed
memory in Windows NT® 4 Enterprise
Ed
ition by using a PSE36 driver. Currently there are no PSE drivers for Windows 2000. The preferr
ed
method of accessing extend
ed
memory is via the Physical
Add
ressing Extensions using AWE. The AWE mapping feature is much more efficient than the older process of coping buffers from extend
ed
memory into the process
add
ress space. Unfortunately, SQL
Serve
r 7.0 cannot leverage PAE/AWE. Because there are currently no PSE36 drivers for Windows 2000 this means SQL
Serve
r 7.0 cannot support more than 3GB of memory on Windows 2000. Refer to KB article Q278466. AWE restrictions The process must have Lock Pages In Memory user rights to use AWE Important It is important that you use Enterprise Manager or DMO to change the service account. Enterprise Manager and DMO will grant all of the privileges and Registry and file permissions ne
ed
ed
for SQL
Serve
r. The Service Control Panel does NOT grant all the rights or permissions ne
ed
ed
to run SQL
Serve
r. Pages are not shareable or page-able Page protection is limit
ed
to read/write The same physical page cannot be mapp
ed
into two separate AWE regions, even within the same process. The use of AWE/PAE in conjunction with /3GB will limit the maximum amount of support
ed
memory to between 12-16 GB of memory. Task manager does not show the correct amount of memory allocat
ed
to AWE-enabl
ed
applications. You must use Memory Manager: Total
Serve
r Memory. It should, however, be not
ed
that this only shows memory in use by the buffer pool. Machines that have PAE enabl
ed
will not dump user mode memory. If an event occurs in User Mode Memory that causes a blue screen and root cause determination is absolutely necessary, the machine must be boot
ed
with the /NOPAE switch, and with /MAXMEM set to a number appropriate for transferring dump files. With AWE enabl
ed
, SQL
Serve
r will, by default, allocate almost all memory during startup, leaving 256 MB or less free. This memory is lock
ed
and cannot be pag
ed
out. Consuming all available memory may prevent other applications or SQL
Serve
r instances from starting. Note PAE is not requir
ed
to leverage AWE. However, if you have more than 4GB of physical memory you will not be able to access it unless you enable PAE. Caution It is highly recommend
ed
that you use the “max
serve
r memory” option in combination with “awe enabl
ed
” to ensure some memory headroom exists for other applications or instances of SQL
Serve
r, because AWE memory cannot be shar
ed
or pag
ed
. For more information, see the following Knowl
ed
ge Base articles: Q268363 Intel Physical
Add
ressing Extensions (PAE) in Windows 2000 Q241046 Cannot Create a dump File on Computers with over 4 GB RAM Q255600 Windows 2000 utilities do not display physical memory above 4GB Q274750 How to configure SQL
Serve
r memory more than 2 GB (Idea) Q266251 Memory dump stalls when PAE option is enabl
ed
(Idea) Tip The KB will return more hits if you query on PAE rather than AWE. Virtual
Add
ress Space Mapping Virtual
Add
ress Space Mapping By default Windows 2000 (on an X86 platform) uses a two-level (three-level when PAE is enabl
ed
) page table structure to translate virtual
add
resses to physical
add
resses. Each 32-bit
add
ress has three components, as shown below. When a process accesses a virtual
add
ress the system must first locate the Page Directory for the current process via register CR3 (X86). The first 10 bits of the virtual
add
ress act as an index into the Page Directory. The Page Directory Entry then points to the Page Frame Number (PFN) of the appropriate Page Table. The next 10 bits of the virtual
add
ress act as an index into the Page Table to locate the appropriate page. If the page is valid, the PTE contains the PFN of the actual page in memory. If the page is not valid, the memory management fault handler locates the page and attempts to make it valid. The final 12 bits act as a byte offset into the page. Note This multi-step process is expensive. This is why systems have translation look aside buffers (TLB) to spe
ed
up the process. One of the reasons context switching is so expensive is the translation buffers must be dump
ed
. Thus, the first few lookups are very expensive. Refer to ISW2K pages 439-440. Core System Memory Relat
ed
Counters Core System Memory Relat
ed
Counters When evaluating memory performance you are looking at a wide variety of counters. The counters list
ed
here are a few of the core counters that give you quick overall view of the state of memory. The two key counters are Available Bytes and Committ
ed
Bytes. If Committ
ed
Bytes exce
ed
s the amount of physical memory in the system, you can be assur
ed
that there is some level of hard page fault activity happening. The goal of a well-tun
ed
system is to have as little hard paging as possible. If Available Bytes is below 5 MB, you should investigate why. If Available Bytes is below 4 MB, the Working Set Manager will start to aggressively trim the working sets of process including the system cache. Committ
ed
Bytes Total memory, including physical and page file currently committ
ed
Commit Limit • Physical memory + page file size • Represents the total amount of memory that can be committ
ed
without expanding the page file. (Assuming page file is allow
ed
to grow) Available Bytes Total physical memory currently available Note Available Bytes is a key indicator of the amount of memory pressure. Windows 2000 will attempt to keep this above approximately 4 MB by aggressively trimming the working sets including system cache. If this value is constantly between 3-4 MB, it is cause for investigation. One counter you might expect would be for total physical memory. Unfortunately, there is no specific counter for total physical memory. There are however many other ways to determine total physical memory. One of the most common is by viewing the Performance tab of Task Manager. Page File Usage The only counters that show current page file space usage are Page File:% Usage and Page File:% Peak Usage. These two counters will give you an indication of the amount of space currently us
ed
in the page file. Memory Performance Memory Counters There are a number of counters that you ne
ed
to investigate when evaluating memory performance. As stat
ed
previously, no single counter provides the entire picture. You will ne
ed
to consider many different counters to begin to understand the true state of memory. Note The counters list
ed
are a subset of the counters you should capture. *Available Bytes In general, it is desirable to see Available Bytes above 5 MB. SQL
Serve
rs goal on Intel platforms, running Windows NT, is to assure there is approximately 5+ MB of free memory. After Available Bytes reaches 4 MB, the Working Set Manager will start to aggressively trim the working sets of process and, finally, the system cache. This is not to say that working set trimming does not happen before 4 MB, but it does become more pronounc
ed
as the number of available bytes decreases below 4 MB. Page Faults/sec Page Faults/sec represents the total number of hard and soft page faults. This value includes the System Working Set as well. Keep this in mind when evaluating the amount of paging activity in the system. Because this counter includes paging associat
ed
with the System Cache, a
serve
r acting as a file
serve
r may have a much higher value than a d
ed
icat
ed
SQL
Serve
r may have. The System Working Set is cover
ed
in depth on the next slide. Because Page Faults/sec includes soft faults, this counter is not as useful as Pages/sec, which represents hard page faults. Because of the associat
ed
I/O, hard page faults tend to be much more expensive. *Pages/sec Pages/sec represent the number of pages written/read from disk because of hard page faults. It is the sum of Memory: Pages Input/sec and Memory: Pages Output/sec. Because it is count
ed
in numbers of pages, it can be compar
ed
to other counts of pages, such as Memory: Page Faults/sec, without conversion. On a well-tun
ed
system, this value should be consistently low. In and of itself, a high value for this counter does not necessarily indicate a problem. You will ne
ed
to isolate the paging activity to determine if it is associat
ed
with in-paging, out-paging, memory mapp
ed
file activity or system cache. Any one of these activities will contribute to this counter. Note Paging in and of itself is not necessarily a bad thing. Paging is only “bad” when a critical process must wait for it’s pages to be in-pag
ed
, or when the amount of read/write paging is causing excessive kernel time or disk I/O, thus interfering with normal user mode processing. Tip (Memory: Pages/sec) / (PhysicalDisk: Disk Bytes/sec * 4096) yields the approximate percentage of paging to total disk I/O. Note, this is only relevant on X86 platforms with a 4 KB page size. Page Reads/sec (Hard Page Fault) Page Reads/sec is the number of times the disk was access
ed
to resolve hard page faults. It includes reads to satisfy faults in the file system cache (usually request
ed
by applications) and in non-cach
ed
memory mapp
ed
files. This counter counts numbers of read operations, without regard to the numbers of pages retriev
ed
by each operation. This counter displays the difference between the values observ
ed
in the last two samples, divid
ed
by the duration of the sample interval. Page Writes/sec (Hard Page Fault) Page Writes/sec is the number of times pages were written to disk to free up space in physical memory. Pages are written to disk only if they are chang
ed
while in physical memory, so they are likely to hold data, not code. This counter counts write operations, without regard to the number of pages written in each operation. This counter displays the difference between the values observ
ed
in the last two samples, divid
ed
by the duration of the sample interval. *Pages Input/sec (Hard Page Fault) Pages Input/sec is the number of pages read from disk to resolve hard page faults. It includes pages retriev
ed
to satisfy faults in the file system cache and in non-cach
ed
memory mapp
ed
files. This counter counts numbers of pages, and can be compar
ed
to other counts of pages, such as Memory:Page Faults/sec, without conversion. This counter displays the difference between the values observ
ed
in the last two samples, divid
ed
by the duration of the sample interval. This is one of the key counters to monitor for potential performance complaints. Because a process must wait for a read page fault this counter, read page faults have a direct impact on the perceiv
ed
performance of a process. *Pages Output/sec (Hard Page Fault) Pages Output/sec is the number of pages written to disk to free up space in physical memory. Pages are written back to disk only if they are chang
ed
in physical memory, so they are likely to hold data, not code. A high rate of pages output might indicate a memory shortage. Windows NT writes more pages back to disk to free up space when physical memory is in short supply. This counter counts numbers of pages, and can be compar
ed
to other counts of pages, without conversion. This counter displays the difference between the values observ
ed
in the last two samples, divid
ed
by the duration of the sample interval. Like Pages Input/sec, this is one of the key counters to monitor. Processes will generally not notice write page faults unless the disk I/O begins to interfere with normal data operations. Demand Zero Faults/Sec (Soft Page Fault) Demand Zero Faults/sec is the number of page faults that require a zero
ed
page to satisfy the fault. Zero
ed
pages, pages empti
ed
of previously stor
ed
data and fill
ed
with zeros, are a security feature of Windows NT. Windows NT maintains a list of zero
ed
pages to accelerate this process. This counter counts numbers of faults, without regard to the numbers of pages retriev
ed
to satisfy the fault. This counter displays the difference between the values observ
ed
in the last two samples, divid
ed
by the duration of the sample interval. Transition Faults/Sec (Soft Page Fault) Transition Faults/sec is the number of page faults resolv
ed
by recovering pages that were on the modifi
ed
page list, on the standby list, or being written to disk at the time of the page fault. The pages were recover
ed
without
add
itional disk activity. Transition faults are count
ed
in numbers of faults, without regard for the number of pages fault
ed
in each operation. This counter displays the difference between the values observ
ed
in the last two samples, divid
ed
by the duration of the sample interval. System Working Set System Working Set Like processes, the system page-able code and data are manag
ed
by a working set. For the purpose of this course, that working set is referr
ed
to as the System Working Set. This is done to differentiate the system cache portion of the working set from the entire working set. There are five different types of pages that make up the System Working Set. They are: system cache; pag
ed
pool; page-able code and data in ntoskrnl.exe; page-able code, and data in device drivers and system-mapp
ed
views. Unfortunately, some of the counters that appear to represent the system cache actually represent the entire system working set. Where not
ed
system cache actually represents the entire system working set. Note The counters list
ed
are a subset of the counters you should capture. *Memory: Cache Bytes (Represents Total System Working Set) Represents the total size of the System Working Set including: system cache; pag
ed
pool; pageable code and data in ntoskrnl.exe; pageable code and data in device drivers; and system-mapp
ed
views. Cache Bytes is the sum of the following counters: System Cache Resident Bytes, System Driver Resident Bytes, System Code Resident Bytes, and Pool Pag
ed
Resident Bytes. Memory: System Cache Resident Bytes (System Cache) System Cache Resident Bytes is the number of bytes from the file system cache that are resident in physical memory. Windows 2000 Cache Manager works with the memory manager to provide virtual block stream and file data caching. For more information, see also…Inside Windows 2000,Third
Ed
ition, pp. 645-650 and p. 656. Memory: Pool Pag
ed
Resident Bytes Represents the physical memory consum
ed
by Pag
ed
Pool. This counter should NOT be monitor
ed
by itself. You must also monitor Memory: Pag
ed
Pool. A leak in the pool may not show up in Pool pag
ed
Resident Bytes. Memory: System Driver Resident Bytes Represents the physical memory consum
ed
by driver code and data. System Driver Resident Bytes and System Driver Total Bytes do not include code that must remain in physical memory and cannot be written to disk. Memory: System Code Resident Bytes Represents the physical memory consum
ed
by page-able system code. System Code Resident Bytes and System Code Total Bytes do not include code that must remain in physical memory and cannot be written to disk. Working Set Performance Counter You can measure the number of page faults in the System Working Set by monitoring the Memory: Cache Faults/sec counter. Contrary to the “Explain” shown in System Monitor, this counter measures the total amount of page faults/sec in the System Working Set, not only the System Cache. You cannot measure the performance of the System Cache using this counter alone. For more information, see also…Inside Windows 2000,Third
Ed
ition, p. 656. Note You will find that in general the working set manager will usually trim the working sets of normal processes prior to trimming the system working set. System Cache System Cache The Windows 2000 cache manager provides a write-back cache with lazy writing and intelligent read-ahead. Files are not written to disk imm
ed
iately but differ
ed
until the cache manager calls the memory manager to flush the cache. This helps to r
ed
uce the total number of I/Os. Once per second, the lazy writer thread queues one-eighth of the dirty pages in the system cache to be written to disk. If this is not sufficient to meet the ne
ed
s, the lazy writer will calculate a larger value. If the dirty page threshold is exce
ed
ed
prior to lazy writer waking, the cache manager will wake the lazy writer. Important It should be point
ed
out that mapp
ed
files or files open
ed
with FILE_FLAG_NO_BUFFERING, do not participate in the System Cache. For more information regarding mapp
ed
views, see also…Inside Windows 2000,Third
Ed
ition, p. 669. For those applications that would like to leverage system cache but cannot tolerate write delays, the cache manager supports write through operations via the FILE_FLAG_WRITE_THROUGH. On the other hand, an application can disable lazy writing by using the FILE_ATTRIBUTE_TEMPORARY. If this flag is enabl
ed
, the lazy writer will not write the pages to disk unless there is a shortage of memory or the file is clos
ed
. Important Microsoft SQL
Serve
r uses both FILE_FLAG_NO_BUFFERING and FILE_FLAG_WRITE_THROUGH Tip The file system cache is not represent
ed
by a static amount of memory. The system cache can and will grow. It is not unusual to see the system cache consume a large amount of memory. Like other working sets, it is trimm
ed
under pressure but is generally the last thing to be trimm
ed
. System Cache Performance Counters The counters list
ed
are a subset of the counters you should capture. Cache: Data Flushes/sec Data Flushes/sec is the rate at which the file system cache has flush
ed
its contents to disk as the result of a request to flush or to satisfy a write-through file write request. More than one page can be transferr
ed
on each flush operation. Cache: Data Flush Pages/sec Data Flush Pages/sec is the number of pages the file system cache has flush
ed
to disk as a result of a request to flush or to satisfy a write-through file write request. Cache: Lazy Write Flushes/sec Represents the rate of lazy writes to flush the system cache per second. More than one page can be transferr
ed
per second. Cache: Lazy Write Pages/sec Lazy Write Pages/sec is the rate at which the Lazy Writer thread has written to disk. Note When looking at Memory:Cache Faults/sec, you can
remove
cache write activity by subtracting (Cache: Data Flush Pages/sec + Cache: Lazy Write Pages/sec). This will give you a better idea of how much other page faulting activity is associat
ed
with the other components of the System Working Set. However, you should note that there is no easy way to
remove
the page faults associat
ed
with file cache read activity. For more information, see the following Knowl
ed
ge Base articles: Q145952 (NT4) Event ID 26 Appears If Large File Transfer Fails Q163401 (NT4) How to Disable Network R
ed
irector File Caching Q181073 (SQL 6.5) DUMP May Cause Access Violation on Win2000 System Pool System Pool As document
ed
earlier, there are two types of shar
ed
pool memory: non-pag
ed
pool and pag
ed
pool. Like private memory, pool memory is susceptible to a leak. Nonpag
ed
Pool Miscellaneous kernel code and structures, and drivers that ne
ed
working memory while at or above DPC/dispatch level use non-pag
ed
pool. The primary counter for non-pag
ed
pool is Memory: Pool Nonpag
ed
Bytes. This counter will usually between 3 and 30 MB. Pag
ed
Pool Drivers that do not ne
ed
to access memory above DPC/Dispatch level are one of the primary users of pag
ed
pool, however any process can use pag
ed
pool by leveraging the ExAllocatePool calls. Pag
ed
pool also contains the Registry and file and printing structures. The primary counters for monitoring pag
ed
pool is Memory: Pool Pag
ed
Bytes. This counter will usually be between 10-30MB plus the size of the Registry. To determine how much of pag
ed
pool is currently resident in physical memory, monitor Memory: Pool Pag
ed
Resident Bytes. Note The pag
ed
and non-pag
ed
pools are two of the components of the System Working Set. If a suspect
ed
leak is clearly visible in the overview and not associat
ed
with a process, then it is most likely a pool leak. If the leak is not associat
ed
with SQL
Serve
r handles, OLDEB providers, XPROCS or SP_OA calls then most likely this call should be push
ed
to the Windows NT group. For more information, see the following Knowl
ed
ge Base articles: Q265028 (MS) Pool Tags Q258793 (MS) How to Find Memory Leaks by Using Pool Bitmap Analysis Q115280 (MS) Finding Windows NT Kernel Mode Memory Leaks Q177415 (MS) How to Use Poolmon to Troubleshoot Kernel Mode Memory Leaks Q126402 Pag
ed
PoolSize and NonPag
ed
PoolSize Values in Windows NT Q247904 How to Configure Pag
ed
Pool and System PTE Memory Areas Tip To isolate pool leaks you will ne
ed
to isolate all drivers and third-party processes. This should be done by disabling each service or driver one at a time and monitoring the effect. You can also monitor pag
ed
and non-pag
ed
pool through poolmon. If pool tagging has been enabl
ed
via GFLAGS, you may be able to associate the leak to a particular tag. If you suspect a particular tag, you should involve the platform support group. Process Memory Counters Process _Total Limitations Although the rollup of _Total for Process: Private Bytes, Virtual Bytes, Handles and Threads, represent the key
resource
s being us
ed
across all processes, they can be misleading when evaluating a memory leak. This is because a leak in one process may be mask
ed
by a decrease in another process. Note The counters list
ed
are a subset of the counters you should capture. Tip When analyzing memory leaks, it is often easier to a build either a separate chart or report showing only one or two key counters for all process. The primary counter us
ed
for leak analysis is private bytes, but processes can leak handles and threads just as easily. After a suspect process is locat
ed
, build a separate chart that includes all the counters for that process. Individual Process Counters When analyzing individual process for memory leaks you should include the counters list
ed
. Process: % Processor Time Process: Working Set (includes shar
ed
pages) Process: Virtual Bytes Process: Private Bytes Process: Page Faults/sec Process: Handle Count Process: Thread Count Process: Pool Pag
ed
Bytes Process: Pool Nonpag
ed
Bytes Tip WINLOGON, SVCHOST, services, or SPOOLSV are referr
ed
to as HELPER processes. They provide core functionality for many operations and as such are often extend
ed
by the
add
ition of third-party DLLs. Tlist –s may help identify what services are running under a particular helper. Helper Processes Helper Processes Winlogon, Services, and Spoolsv and Svchost are examples of what are referr
ed
to as HELPER processes. They provide core functionality for many operations and, as such, are often extend
ed
by the
add
ition of third-party DLLs. Running every service in its own process can waste system
resource
s. Consequently, some services run in their own processes while others share a process with other services. One problem with sharing a process is that a bug in one service may cause the entire process to fail. The
resource
kit tool, Tlist when us
ed
with the –s qualifier can help you identify what services are running in what processes. WINLOGON Us
ed
to support GINAs. SPOOLSV SPOOLSV is responsible for printing. You will ne
ed
to investigate all
add
ed
printing functionality. Services Service is responsible for system services. Svchost.exe Svchost.exe is a generic host process name for services that are run from dynamic-link libraries (DLLs). There can be multiple instances of Svchost.exe running at the same time. Each Svchost.exe session can contain a grouping of services, so that separate services can be run depending on how and where Svchost.exe is start
ed
. This allows for better control and debugging. The Effect of Memory on Other Components Memory Drives Overall Performance Processor, cache, bus spe
ed
s, I/O, all of these
resource
s play a roll in overall perceiv
ed
performance. Without minimizing the impact of these components, it is important to point out that a shortage of memory can often have a larger perceiv
ed
impact on performance than a shortage of some other
resource
. On the other hand, an abundance of memory can often be leverag
ed
to mask bottlenecks. For instance, in certain environments, file system cache can significantly r
ed
uce the amount of disk I/O, potentially masking a slow I/O subsystem. Effect on I/O I/O can be driven by a number of memory considerations. Page read/faults will cause a read I/O when a page is not in memory. If the modifi
ed
page list becomes too long the Modifi
ed
Page Writer and Mapp
ed
Page Writer will ne
ed
to start flushing pages causing disk writes. However, the one event that can have the greatest impact is running low on available memory. In this case, all of the above events will become more pronounc
ed
and have a larger impact on disk activity. Effect on CPU The most effective use of a processor from a process perspective is to spend as much time possible executing user mode code. Kernel mode represents processor time associat
ed
with doing work, directly or indirectly, on behalf of a thread. This includes items such as synchronization, sch
ed
uling, I/O, memory management, and so on. Although this work is essential, it takes processor cycles and the cost, in cycles, to transition between user and kernel mode is expensive. Because all memory management and I/O functions must be done in kernel mode, it follows that the fewer the memory
resource
s the more cycles are going to be spent managing those
resource
s. A direct result of low memory is that the Working Set Manager, Modifi
ed
Page Writer and Mapp
ed
Page Writer will have to use more cycles attempting to free memory. Analyzing Memory Look for Trends and Trend Relationships Troubleshooting performance is about analyzing trends and trend relationships. Establishing that some event happen
ed
is not enough. You must establish the effect of the event. For example, you note that paging activity is high at the same time that SQL
Serve
r becomes slow. These two individual facts may or may not be relat
ed
. If the paging is not associat
ed
with SQL
Serve
rs working set, or the disks SQL is using there may be little or no cause/affect relationship. Look at Physical Memory First The first item to look at is physical memory. You ne
ed
to know how much physical and page file space the system has to work with. You should then evaluate how much available memory there is. Just because the system has free memory does not mean that there is not any memory pressure. Available Bytes in combination with Pages Input/sec and Pages Output/sec can be a good indicator as to the amount of pressure. The goal in a perfect world is to have as little hard paging activity as possible with available memory greater than 5 MB. This is not to say that paging is bad. On the contrary, paging is a very effective way to manage a limit
ed
resource
. Again, we are looking for trends that we can use to establish relationships. After evaluating physical memory, you should be able to answer the following questions: How much physical memory do I have? What is the commit limit? Of that physical memory, how much has the operating system committ
ed
? Is the operating system over committing physical memory? What was the peak commit charge? How much available physical memory is there? What is the trend associat
ed
with committ
ed
and available? Review System Cache and Pool Contribution After you understand the individual process memory usage, you ne
ed
to evaluate the System Cache and Pool usage. These can and often represent a significant portion of physical memory. Be aware that System Cache can grow significantly on a file
serve
r. This is usually normal. One thing to consider is that the file system cache tends to be the last thing trimm
ed
when memory becomes low. If you see abrupt decreases in System Cache Resident Bytes when Available Bytes is below 5 MB you can be assur
ed
that the system is experiencing excessive memory pressure. Pag
ed
and non-pag
ed
pool size is also important to consider. An ever-increasing pool should be an indicator for further research. Non-pag
ed
pool growth is usually a driver issue, while pag
ed
pool could be driver-relat
ed
or process-relat
ed
. If pag
ed
pool is steadily growing, you should investigate each process to see if there is a specific process relationship. If not you will have to use tools such as poolmon to investigate further. Review Process Memory Usage After you understand the physical memory limitations and cache and pool contribution you ne
ed
to determine what components or processes are creating the pressure on memory, if any. Be careful if you opt to chart the _Total Private Byte’s rollup for all processes. This value can be misleading in that it includes shar
ed
pages and can therefore exce
ed
the actual amount of memory being us
ed
by the processes. The _Total rollup can also mask processes that are leaking memory because other processes may be freeing memory thus creating a balance between leak
ed
and fre
ed
memory. Identify processes that expand their working set over time for further analysis. Also, review handles and threads because both use
resource
s and potentially can be mismanag
ed
. After evaluating the process
resource
usage, you should be able to answer the following: Are any of the processes increasing their private bytes over time? Are any processes growing their working set over time? Are any processes increasing the number of threads or handles over time? Are any processes increasing their use of pool over time? Is there a direct relationship between the above nam
ed
resource
s and total committ
ed
memory or available memory? If there is a relationship, is this normal behavior for the process in question? For example, SQL does not commit ‘min memory’ on startup; these pages are fault
ed
in into the working set as ne
ed
ed
. This is not necessarily an indication of a memory leak. If there is clearly a leak in the overview and is not identifiable in the process counters it is most likely in the pool. If the leak in pool is not associat
ed
with SQL
Serve
r handles, then more often than not, it is not a SQL
Serve
r issue. There is however the possibility that the leak could be associat
ed
with third party XPROCS, SP_OA* calls or OLDB providers. Review Paging Activity and Its Impact on CPU and I/O As stat
ed
earlier, paging is not in and of itself a bad thing. When starting a process the system faults in the pages of an executable, as they are ne
ed
ed
. This is preferable to loading the entire image at startup. The same can be said for memory mapp
ed
files and file system cache. All of these features leverage the ability of the system to fault in pages as ne
ed
ed
The greatest impact of paging on a process is when the process must wait for an in-page fault or when page file activity represents a significant portion of the disk activity on the disk the application is actively using. After evaluating page fault activity, you should be able to answer the following questions: What is the relationship between PageFaults/sec and Page Input/sec + Page Output/Sec? What is the relationship if any between hard page faults and available memory? Does paging activity represent a significant portion of processor or I/O
resource
usage? Don’t Prematurely Jump to Any Conclusions Analyzing memory pressure takes time and patience. An individual counter in and of it self means little. It is only when you start to explore relationships between cause and effect that you can begin to understand the impact of a particular counter. The key thoughts to remember are: With the exception of a swap (when the entire process’s working set has been swapp
ed
out/in), hard page faults to resolve reads, are the most expensive in terms its effect on a processes perceiv
ed
performance. In general, page writes associat
ed
with page faults do not directly affect a process’s perceiv
ed
performance, unless that process is waiting on a free page to be made available. Page file activity can become a problem if that activity competes for a significant percentage of the disk throughput in a heavy I/O orientat
ed
environment. That assumes of course that the page file resides on the same disk the application is using. Lab 3.1 System Memory Lab 3.1 Analyzing System Memory Using System Monitor Exercise 1 – Troubleshooting the Cardinal1.log File Students will evaluate an existing System Monitor log and determine if there is a problem and what the problem is. Students should be able to isolate the issue as a memory problem, locate the offending process, and determine whether or not this is a pool issue. Exercise 2 – Leakyapp Behavior Students will start leaky app and monitor memory, page file and cache counters to better understand the dynamics of these counters. Exercise 3 – Process Swap Due To Minimizing of the Cmd Window Students will start SQL from command line while viewing SQL process performance counters. Students will then minimize the window and note the effect on the working set. Overview What You Will Learn After completing this lab, you will be able to: Use some of the basic functions within System Monitor. Troubleshoot one or more common performance scenarios. Before You Begin Prerequisites To complete this lab, you ne
ed
the following: Windows 2000 SQL
Serve
r 2000 Lab Files Provid
ed
LeakyApp.exe (
Resource
Kit) Estimat
ed
time to complete this lab: 45 minutes Exercise 1 Troubleshooting the Cardinal1.log File In this exercise, you will analyze a log file from an actual system that was having performance problems. Like an actual support engineer, you will not have much information from which to draw conclusions. The customer has sent you this log file and it is up to you to find the cause of the problem. However, unlike the real world, you have an instructor available to give you hints should you become stuck. Goal Review the Cardinal1.log file (this file is from Windows NT 4.0 Performance Monitor, which Windows 2000 can read). Chart the log file and begin to investigate the counters to determine what is causing the performance problems. Your goal should be to isolate the problem to a major area such as pool, virtual
add
ress space etc, and begin to isolate the problem to a specific process or thread. This lab requires access to the log file Cardinal1.log locat
ed
in C:\LABS\M3\LAB1\EX1 To analyze the log file 1. Using the Performance MMC, select the System Monitor snap-in, and click the View Log File Data button (icon looks like a disk). 2. Under Files of type, choose PERFMON Log Files (*.log) 3. Navigate to the folder containing Cardinal1.log file and open it. 4. Begin examining counters to find what might be causing the performance problems. When examining some of these counters, you may notice that some of them go off the top of the chart. It may be necessary to adjust the scale on these. This can be done by right-clicking the rightmost pane and selecting Properties. Select the Data tab. Select the counter that you wish to modify. Under the Scale option, change the scale value, which makes the counter data visible on the chart. You may ne
ed
to experiment with different scale values before finding the ideal value. Also, it may sometimes be beneficial to adjust the vertical scale for the entire chart. Selecting the Graph tab on the Properties page can do this. In the Vertical scale area, adjust the Maximum and Minimum values to best fit the data on the chart. Lab 3.1, Exercise 1: Results Exercise 2 LeakyApp Behavior In this lab, you will have an opportunity to work with a partner to monitor a live system, which is suffering from a simulat
ed
memory leak. Goal During this lab, your goal is to ob
serve
the system behavior when memory starts to become a limit
ed
resource
. Specifically you will want to monitor committ
ed
memory, available memory, the system working set including the file system cache and each processes working set. At the end of the lab, you should be able to provide an answer to the list
ed
questions. To monitor a live system with a memory leak 1. Choose one of the two systems as a victim on which to run the leakyapp.exe program. It is recommend
ed
that you boot using the \MAXMEM=128 option so that this lab goes a little faster. You and your partner should decide which
serve
r will play the role of the problematic
serve
r and which
serve
r is to be us
ed
for monitoring purposes. 2. On the problematic
serve
r, start the leakyapp program. 3. On the monitoring system, create a counter that logs all necessary counters ne
ed
to troubleshoot a memory problem. This should include physicaldisk counters if you think paging is a problem. Because it is likely that you will only ne
ed
to capture less than five minutes of activity, the suggest
ed
interval for capturing is five seconds. 4. After the counters have been start
ed
, start the leaky application program 5. Click Start Leaking. The button will now change to Stop Leaking, which indicates that the system is now leaking memory. 6. After leakyapp shows the page file is 50 percent full, click Stop leaking. Note that the process has not given back its memory, yet. After approximately one minute, exit. Lab 3.1, Exercise 2: Questions After analyzing the counter logs you should be able to answer the following: 1. Under which system memory counter does the leak show up clearly? Memory:Committ
ed
Bytes 2. What process counter look
ed
very similar to the overall system counter that show
ed
the leak? Private Bytes 3. Is the leak in Pag
ed
Pool, Non-pag
ed
pool, or elsewhere? Elsewhere 4. At what point did Windows 2000 start to aggressively trim the working sets of all user processes? <5 MB Free 5. Was the System Working Set trimm
ed
before or after the working sets of other processes? After 6. What counter show
ed
this? Memory:Cache Bytes 7. At what point was the File System Cache trimm
ed
? After the first pass through all other working sets 8. What was the effect on all the processes working set when the application quit leaking? None 9. What was the effect on all the working sets when the application exit
ed
? Nothing, initially; but all grew fairly quickly bas
ed
on use 10. When the
serve
r was running low on memory, which was Windows spending more time doing, paging to disk or in-paging? Paging to disk, initially; however, as other applications began to run, in-paging increas
ed
Exercise 3 Minimizing a Command Window In this exercise, you will have an opportunity to ob
serve
the behavior of Windows 2000 when a command window is minimiz
ed
. Goal During this lab, your goal is to ob
serve
the behavior of Windows 2000 when a command window becomes minimiz
ed
. Specifically, you will want to monitor private bytes, virtual bytes, and working set of SQL
Serve
r when the command window is minimiz
ed
. At the end of the lab, you should be able to provide an answer to the list
ed
questions. To monitor a command window’s working set as the window is minimiz
ed
1. Using System Monitor, create a counter list that logs all necessary counters ne
ed
ed
to troubleshoot a memory problem. Because it is likely that you will only ne
ed
to capture less than five minutes of activity, the suggest
ed
capturing interval is five seconds. 2. After the counters have been start
ed
, start a Command Prompt window on the target system. 3. In the command window, start SQL
Serve
r from the command line. Example: SQL Servr.exe –c –sINSTANCE1 4. After SQL
Serve
r has successfully start
ed
, Minimize the Command Prompt window. 5. Wait approximately two minutes, and then Restore the window. 6. Wait approximately two minutes, and then stop the counter log. Lab 3.1, Exercise 3: Questions After analyzing the counter logs you should be able to answer the following questions: 1. What was the effect on SQL
Serve
rs private bytes, virtual bytes, and working set when the window was minimiz
ed
? Private Bytes and Virtual Bytes remain
ed
the same, while Working Set went to 0 2. What was the effect on SQL
Serve
rs private bytes, virtual bytes, and working set when the window was restor
ed
? None; the Working Set did not grow until SQL access
ed
the pages and fault
ed
them back in on an as-ne
ed
ed
basis SQL
Serve
r Memory Overview SQL
Serve
r Memory Overview Now that you have a better understanding of how Windows 2000 manages memory
resource
s, you can take a closer look at how SQL
Serve
r 2000 manages its memory. During the course of the lecture and labs you will have the opportunity to monitor SQL
Serve
rs use of memory under varying conditions using both System Monitor counters and SQL
Serve
r tools. SQL
Serve
r Memory Management Goals Because SQL
Serve
r has in-depth knowl
ed
ge about the relationships between data and the pages they reside on, it is in a better position to judge when and what pages should be brought into memory, how many pages should be brought in at a time, and how long they should be resident. SQL
Serve
rs primary goals for management of its memory are the following: Be able to dynamically adjust for varying amounts of available memory. Be able to respond to outside memory pressure from other applications. Be able to adjust memory dynamically for internal components. Items Cover
ed
SQL
Serve
r Memory Definitions SQL
Serve
r Memory Layout SQL
Serve
r Memory Counters Memory Configurations Options Buffer Pool Performance and Counters Set Aside Memory and Counters General Troubleshooting Process Memory Myths and Tips SQL
Serve
r Memory Definitions SQL
Serve
r Memory Definitions Pool A group of
resource
s, objects, or logical components that can service a
resource
allocation request Cache The management of a pool or
resource
, the primary goal of which is to increase performance. Bpool The Bpool (Buffer Pool) is a single static class instance. The Bpool is made up of 8-KB buffers and can be us
ed
to handle data pages or external memory requests. There are three basic types or categories of committ
ed
memory in the Bpool. Hash
ed
Data Pages Committ
ed
Buffers on the Free List Buffers known by their owners (Refer to definition of Stolen) Consumer A consumer is a subsystem that uses the Bpool. A consumer can also be a provider to other consumers. There are five consumers and two advanc
ed
consumers who are responsible for the different categories of memory. The following list represents the consumers and a partial list of their categories Connection – Responsible for PSS and ODS memory allocations General –
Resource
structures, parse headers, lock manager objects Utilities – Recovery, Log Manager Optimizer – Query Optimization Query Plan – Query Plan Storage Advanc
ed
Consumer Along with the five consumers, there are two advanc
ed
consumers. They are Ccache – Proc
ed
ure cache. Accepts plans from the Optimizer and Query Plan consumers. Is responsible for managing that memory and determines when to release the memory back to the Bpool. Log Cache – Manag
ed
by the LogMgr, which uses the Utility consumer to coordinate memory requests with the Bpool. Reservation Requesting the future use of a
resource
. A reservation is a reasonable guarantee that the
resource
will be available in the future. Committ
ed
Producing the physical
resource
Allocation The act of providing the
resource
to a consumer Stolen The act of getting a buffer from the Bpool is referr
ed
to as stealing a buffer. If the buffer is stolen and hash
ed
for a data page, it is referr
ed
to as, and count
ed
as, a Hash
ed
buffer, not a stolen buffer. Stolen buffers on the other hand are buffers us
ed
for things such as proc
ed
ure cache and SRV_PROC structures. Target Target memory is the amount of memory SQL
Serve
r would like to maintain as committ
ed
memory. Target memory is bas
ed
on the min and max
serve
r configuration values and current available memory as report
ed
by the operating system. Actual target calculation is operating system specific. Memory to Leave (Set Aside) The virtual
add
ress space set aside to ensure there is sufficient
add
ress space for thread stacks, XPROCS, COM objects etc. Hash
ed
Page A page in pool that represents a database page. SQL
Serve
r Memory Layout Virtual
Add
ress Space When SQL
Serve
r is start
ed
the minimum of physical ram or virtual
add
ress space support
ed
by the OS is evaluat
ed
. There are many possible combinations of OS versions and memory configurations. For example: you could be running Microsoft Windows 2000 Advanc
ed
Serve
r with 2 GB or possibly 4 GB of memory. To avoid page file use, the appropriate memory level is evaluat
ed
for each configuration. Important Utilities can inject a DLL into the process
add
ress space by using HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs When the USER32.dll library is mapp
ed
into the process space, so, too, are the DLLs list
ed
in the Registry key. To determine what DLL’s are running in SQL
Serve
r
add
ress space you can use tlist.exe. You can also use a tool such as Depends from Microsoft or HandelEx from http://ww.sysinternals.com. Memory to Leave As stat
ed
earlier there are many possible configurations of physical memory and
add
ress space. It is possible for physical memory to be greater than virtual
add
ress space. To ensure that some virtual
add
ress space is always available for things such as thread stacks and external ne
ed
s such as XPROCS, SQL
Serve
r re
serve
s a small portion of virtual
add
ress space prior to determining the size of the buffer pool. This
add
ress space is referr
ed
to as Memory To Leave. Its size is bas
ed
on the number of anticipat
ed
tread stacks and a default value for external ne
ed
s referr
ed
to as cmb
Add
ressSave. After reserving the buffer pool space, the Memory To Leave reservation is releas
ed
. Buffer Pool Space During Startup, SQL
Serve
r must determine the maximum size of the buffer pool so that the BUF, BUFHASH and COMMIT BITMAP structures that are us
ed
to manage the Bpool can be creat
ed
. It is important to understand that SQL
Serve
r does not take ‘max memory’ or existing memory pressure into consideration. The reserv
ed
add
ress space of the buffer pool remains static for the life of SQL
Serve
r process. However, the committ
ed
space varies as necessary to provide dynamic scaling. Remember only the committ
ed
memory effects the overall memory usage on the machine. This ensures that the max memory configuration setting can be dynamically chang
ed
with minimal changes ne
ed
ed
to the Bpool. The reserv
ed
space does not ne
ed
to be adjust
ed
and is maximiz
ed
for the current machine configuration. Only the committ
ed
buffers ne
ed
to be limit
ed
to maintain a specifi
ed
max
serve
r memory (MB) setting. SQL
Serve
r Startup Pseudo Code The following pseudo code represents the process SQL
Serve
r goes through on startup. Warning This example does not represent a completely accurate portrayal of the steps SQL
Serve
r takes when initializing the buffer pool. Several details have been left out or gloss
ed
over. The intent of this example is to help you understand the general process, not the specific details. Determine the size of cmb
Add
ressSave (-g) Determine Total Physical Memory Determine Available Physical Memory Determine Total Virtual Memory Calculate MemToLeave maxworkterthreads * (stacksize=512 KB) + (cmb
Add
ressSave = 256 MB) Re
serve
MemToLeave and set PAGE_NOACCESS Check for AWE, test to see if it makes sense to use it and log the results • Min(Available Memory, Max
Serve
r Memory) > Virtual Memory • Supports Read Scatter • SQL
Serve
r not start
ed
with -f • AWE Enabl
ed
via sp_configure • Enterprise
Ed
ition • Lock Pages In Memory user right enabl
ed
Calculate Virtual
Add
ress Limit VA Limit = Min(Physical Memory, Virtual Memory – MemtoLeave) Calculate the number of physical and virtual buffers that can be support
ed
AWE Present Physical Buffers = (RAM / (PAGESIZE + Physical Overhead)) Virtual Buffers = (VA Limit / (PAGESIZE + Virtual Overhead)) AWE Not Present Physical Buffers = Virtual Buffers = VA Limit / (PAGESIZE + Physical Overhead + Virtual Overhead) Make sure we have the minimum number of buffers Physical Buffers = Max(Physical Buffers, MIN_BUFFERS) Allocate and commit the buffer management structures Re
serve
the
add
ress space requir
ed
to support the Bpool buffers Release the MemToLeave SQL
Serve
r Startup Pseudo Code Example The following is an example bas
ed
on the pseudo code represent
ed
on the previous page. This example is bas
ed
on a machine with 384 MB of physical memory, not using AWE or /3GB. Note Cmb
Add
ressSave was chang
ed
between SQL
Serve
r 7.0 and SQL
Serve
r 2000. For SQL
Serve
r 7.0, cmb
Add
ressSave was 128. Warning This example does not represent a completely accurate portrayal of the steps SQL
Serve
r takes when initializing the buffer pool. Several details have been left out or gloss
ed
over. The intent of this example is to help you understand the general process, not the specific details. Determine the size of cmb
Add
ressSave (No –g so 256MB) Determine Total Physical Memory (384) Determine Available Physical Memory (384) Determine Total Virtual Memory (2GB) Calculate MemToLeave maxworkterthreads * (stacksize=512 KB) + (cmb
Add
ressSave = 256 MB) (255 * .5MB + 256MB = 384MB) Re
serve
MemToLeave and set PAGE_NOACCESS Check for AWE, test to see if it makes sense to use it and log the results (AWE Not Enabl
ed
) Calculate Virtual
Add
ress Limit VA Limit = Min(Physical Memory, Virtual Memory – MemtoLeave) 384MB = Min(384MB, 2GB – 384MB) Calculate the number of physical and virtual buffers that can be support
ed
AWE Not Present 48664 (approx) = 384 MB / (8 KB + Overhead) Make sure we have the minimum number of buffers Physical Buffers = Max(Physical Buffers, MIN_BUFFERS) 48664 = Max(48664,1024) Allocate and commit the buffer management structures Re
serve
the
add
ress space requir
ed
to support the Bpool buffers Release the MemToLeave Tip Trace Flag 1604 can be us
ed
to view memory allocations on startup. The cmb
Add
ressSave can be adjust
ed
using the –g XXX startup parameter. SQL
Serve
r Memory Counters SQL
Serve
r Memory Counters The two primary tools for monitoring and analyzing SQL
Serve
r memory usage are System Monitor and DBCC MEMORYSTATUS. For detail
ed
information on DBCC MEMORYSTATUS refer to Q271624 Interpreting the Output of the DBCC MEMORYSTAUS Command. Important Represents SQL
Serve
r 2000 Counters. The counters present
ed
are not the same as the counters for SQL
Serve
r 7.0. The SQL
Serve
r 7.0 counters are list
ed
in the appendix. Determining Memory Usage for OS and BPOOL Memory Manager: Total
Serve
r memory (KB) - Represents all of SQL usage Buffer Manager: Total Pages - Represents total bpool usage To determine how much of Total
Serve
r Memory (KB) represents MemToLeave space; subtract Buffer Manager: Total Pages. The result can be verifi
ed
against DBCC MEMORYSTATUS, specifically Dynamic Memory Manager: OS In Use. It should however be not
ed
that this value only represents requests that went thru the bpool. Memory reserv
ed
outside of the bpool by components such as COM objects will not show up here, although they will count against SQL
Serve
r private byte count. Buffer Counts: Target (Buffer Manager: Target Pages) The size the buffer pool would like to be. If this value is larger than committ
ed
, the buffer pool is growing. Buffer Counts: Committ
ed
(Buffer Manager: Total Pages) The total number of buffers committ
ed
in the OS. This is the current size of the buffer pool. Buffer Counts: Min Free This is the number of pages that the buffer pool tries to keep on the free list. If the free list falls below this value, the buffer pool will attempt to populate it by discarding old pages from the data or proc
ed
ure cache. Buffer Distribution: Free (Buffer Manager / Buffer Partition: Free Pages) This value represents the buffers currently not in use. These are available for data or may be request
ed
by other components and mar
EurekaLog_7.5.0.0_Enterprise
EurekaLog 7.5 (18-August-2016) 1)..Important: Installation layout was chang
ed
. All packages now have version suffix (e.g. EurekaLogCore240.bpl). No files are copi
ed
to \bin folder of IDE. Run-time package (EurekaLogCore) is copi
ed
to Windows\System32 folder. Refer to help for more info. 2)....
Add
ed
: RAD Studio 10.1 Berlin support 3)....
Add
ed
: IDE F1 help integration (on CHM-bas
ed
IDEs only, i.e. XE8+) 4)....
Add
ed
"--el_injectjcl", "--el_createjcl", and "--el_creat
ed
bg" command-line options for ecc32/emake to inject J
ED
I/JCL debug info, create .jdbg file, and create .dbg file (Microsoft debug format). Later is support
ed
when map2dbg.exe tool is plac
ed
in \Bin folder of EurekaLog installation (separate download is requir
ed
) 5)....
Add
ed
: Exception2HRESULT in EAppDLL to simplify developing DLLs with "DLL" profile 6)....
Add
ed
: Use ShellExecute option for mailto send method 7)....
Add
ed
: "Mandatory e-mail only when sending" option 8)....
Add
ed
: Exception line highlighting in disassember view in EurekaLog exception dialog and Viewer 9)....
Add
ed
: Detection/logging Delphi objects in disassembly view 10)..
Add
ed
: Support for multi-monitor info 11)..
Add
ed
: Support for detection of Windows 10 updates 12)..
Add
ed
: OS
ed
ition detection 13)..
Add
ed
: "User" and "Session" columns to processes list, processes list is also sort
ed
by session first 14)..
Add
ed
: Support for showing current user processes only 15)..
Add
ed
: Expanding environment variables for "Support URL" 16)..Fix
ed
: Range-check error on systems with MBCS ACP 17)..Fix
ed
: 64-bit shar
ed
memory manager may not work 18)..Fix
ed
: Possible "Unit XYZ was compil
ed
with a different version of ABC" when using packages 19)..Fix
ed
: FastMM shar
ed
MM compatibility 20)..Fix
ed
: Minor bugs in stack tracing (which usually affect
ed
stacks for leaks) 21)..Fix
ed
: Rare deadlocks in multi-thread
ed
applications 22)..Fix
ed
: Taking screenshot of minimiz
ed
window 23)..Fix
ed
: NT service may not log all exceptions 24)..Fix
ed
: SSL port number for Bugzilla 25)..Fix
ed
: Disabling "Activate Exception Filters" option was ignor
ed
26)..Fix
ed
: Missing FTP proxy settings 27)..Fix
ed
: IntraWeb support is updat
ed
up to 14.0.64 28)..Fix
ed
: Retrieving some process paths in processes list 29)..Fix
ed
: CPU view rendering in EurekaLog exception dialog and Viewer 30)..Fix
ed
: Some issues in naming threads 31)..Fix
ed
:
Remove
d export
ed
helper _462EE689226340EAA982C5E8307B3F9E function (replac
ed
with mapp
ed
file) 32)..Chang
ed
: Descriptions of EurekaLog project options now list corresponding property names of TEurekaModuleOptions class. 33)..Chang
ed
: Default template of HTML/web dialog now includes call stack by default 34)..Chang
ed
: EurekaLog 7 now can be install
ed
over EurekaLog 6 automatically, with no
add
itional actions/tools EurekaLog 7.4 (7.4.0.0), 26-January-2016 1)....Fix
ed
: Performance issue in DLL exports debug information provider 2)....Fix
ed
: Range-check error in Send dialog 3)....Fix
ed
: Possible FPU control word unexpect
ed
change 4)....Fix
ed
: JIRA sending to project with no version info 5)....Fix
ed
: Viewer sorting affect
ed
by local region settings 6)....Fix
ed
: Exception filters ignore settings for restart/terminate EurekaLog 7.3 Hotfix 2 (7.3.2.0), 20-October-2015 1)....Fix
ed
:
Add
ed
workaround for codegen bug in Delphi 7 (possibly - other), bug manifests itself as wrong date-time in reports or integer overflows 2)....Fix
ed
: Some MAPI DLLs may not be load
ed
correctly 3)....Fix
ed
: Handling SEC_I_INCOMPLETE_CR
ED
ENTIALS in SSPI code (
add
ed
searching client certificate) 4)....Fix
ed
: Range-check error when closing WinAPI dialog EurekaLog 7.3 Hotfix 1 (7.3.1.0), 2-October-2015 1)....Fix
ed
: Long startup time on terminal services
serve
rs EurekaLog 7.3 (7.3.0.0), 24-September-2015 1)....
Add
ed
: RAD Studio 10 Seattle support 2)....
Add
ed
: Performance counters for run-time (internal logging with --el_debug) 3)....Fix
ed
: spawn
ed
by ecc32/emake processes now start with the same priority 4)....Fix
ed
: ThreadID = 0 in StandardEurekaNotify 5)....Fix
ed
: Dialog auto-close timer may reset without user input 6)....Fix
ed
: Possible hang when quickly loading/unloading EurekaLog-enabl
ed
DLL 7)....Fix
ed
: Possible hang in COM DLLs 8)....Fix
ed
:
Remove
d some unnecessary file system access on startup 9)....Fix
ed
: Possible wrong font size in EurekaLog tools 10)..Fix
ed
: Ignore timeouts from Shell_NotifyIcon 11)..Fix
ed
: Possible failure to handle/process stack overflow exceptions 12)..Chang
ed
: VCL/CLX/FMX now will assign Application.OnException handler when low-level hooks are disabl
ed
EurekaLog 7.2 Hotfix 6 (7.2.6.0), 14-July-2015 1)....
Add
ed
: csoCaptur
eD
elphiExceptions option 2)....Fix
ed
: Handling of SECBUFFER_EXTRA in SSPI code 3)....Fix
ed
: Several crashes in sending code for very old Delphi versions 4)....Fix
ed
: Regression (from hotfix 5) crash in some IDEs EurekaLog 7.2 Hotfix 5 (7.2.5.0), 1-July-2015 1)....
Add
ed
: HKCU\Software\EurekaLab\Viewer\4.0\UI\Statuses registry key to allow status customizations in Viewer 2)....
Add
ed
: "Disable hang detection under debugger" option 3)....Fix
ed
: Wrong button caption in standalone "Steps to reproduce" dialog 4)....Fix
ed
: Wrong passing of Boolean parameters in JSON (affects JIRA) 5)....Fix
ed
: Wrong sorting of BugID, Count and DateTime columns in Viewer 6)....Fix
ed
: Empty "Count" field/column is now display
ed
as "1" in Viewer 7)....Fix
ed
: Generic names with "," could not be decod
ed
in Viewer 8)....Fix
ed
: Updat
ed
Windows 10 detection for latest builds of Windows 10 9)....Fix
ed
: Sleep and hybernation no longer trigger false-positive "application freeze" 10)..Fix
ed
: Wrong function codes for hooking (affects ISAPI application type) 11)..Fix
ed
: Wrong button caption in "Steps to Reproduce" dialog 12)..Fix
ed
: Crash when taking snapshot of some proccesses by Threads Snapshot tool 13)..Fix
ed
: Minor improvements in leak detection EurekaLog 7.2 Hotfix 4 (7.2.4.0), 10-June-2015 1)....
Add
ed
"ECC32TradeSpe
ed
ForMemory" option - defaults to 0/False, could be chang
ed
to 1 via Custom/Manual tab. This option will switch from fast-methods to slower methods, but which take less memory. Use 0 (default) for small projects, use 1 for large projects (if ecc32 runs out of memory). 2)....
Add
ed
: --el_Disabl
eD
ebuggerPresent command-line option for compatibility with 3rd party debuggers (AQTime, etc.) 3)....
Add
ed
: AQTime auto-detect 4)....Fix
ed
: Performance optimizations 5)....Fix
ed
: Windows 8+ App Menu shortcuts 6)....Fix
ed
: Unmangling on x64 EurekaLog 7.2 Hotfix 3 (7.2.3.0), 20-May-2015 1)....
Add
ed
: Support for token auth in Bugzilla (latest 4.x builds) 2)....
Add
ed
: Support for API key auth in Bugzilla (5.x) 3)....
Add
ed
: Support for /EL_DisableMemoryFilter command-line option 4)....
Add
ed
: Asking e-mail when user switches to "details" from MS Classic without entering e-mail 5)....Fix
ed
: Compatibility issues with older Bugzilla versions (3.x) 6)....Fix
ed
: Passing settings between dialogs 7)....Fix
ed
: "Ask for steps to reproduce" dialog is now DPI-aware 8)....Fix
ed
: Silently ignore and fix invalid values in project options EurekaLog 7.2 Hotfix 2 (7.2.2.0), 30-April-2015 1)....Fix
ed
: Confusing message in Manage tool when using with Trial/Pro 2)....Fix
ed
: Range check error in processes information for x64 machines (affects startup of any EurekaLog-enabl
ed
module) 3)....Fix
ed
: Auto-detect personality by project extension if --el_mode switch is missing 4)....Fix
ed
: More details for diagnostic sending 5)....Fix
ed
: Wrong settings for MAP files in C++ Builder 6)....Fix
ed
: Wrong code page was us
ed
to decode ANSI bug reports 7)....Fix
ed
: Attaching .PAS files instead of .OBJ in C++ Builder 2006+ Pro/Trial EurekaLog 7.2 Hotfix 1 (7.2.1.0), 3-April-2015 1)....Fix
ed
: Wrong float-str convertion when ThousandSeparator is '.' EurekaLog 7.2 (7.2.0.0), 1-April-2015 1)....Important: TEurekaLogV7 component was renam
ed
to TEurekaLogEvents. Please, update your projects by renaming or recreating the component 2)....Important: File layout was chang
ed
for BDS 2006+. Delphi and C++ Builder files are now locat
ed
in StudioNum folders instead of old DelphiNum and CBuilderNum folders. Update your search paths if ne
ed
ed
3)....
Add
ed
: Major improvements in DumpAllocationsToFile function (EMemLeaks unit) 4)....
Add
ed
: MemLeaksSetParentBlock, MemLeaksOwn, EurekaTryGetMem functions (EMemLeaks unit) 5)....
Add
ed
: Improvements for call stack of dynarrays/strings allocations (leaks) 6)....
Add
ed
: "Elem size" when reporting leaks in dynarrays 7)....
Add
ed
: Streaming unpack
ed
debug info into temporal files instead of memory - this greatly r
ed
uces run-time application memory usage at cost of slightly slower exception processing. This also r
ed
uces memory footprint for ecc32/emake 8)....
Add
ed
: Showing call stacks for 2 new types of fatal memory errors 9)....
Add
ed
: EMemLeaks._Re
serve
OutOfMemory to control re
serve
size of out of memory errors (default is 50 Mb) 10)..
Add
ed
: "MinLeaksLimitObjs" option (EMemLeaks unit) 11)..
Add
ed
: Fatal memory problem now pauses all threads in application 12)..
Add
ed
: Fatal memory problem now change thread name (to simplify debugging) 13)..
Add
ed
: boPauseELThreads and boDoNotPauseELServiceThread options (currently not visible in UI) 14)..
Add
ed
: Support for texts collections out of default path 15)..
Add
ed
: Support for relative file paths to text collections and external settings 16)..
Add
ed
: Support for environment variables in project option's paths 17)..
Add
ed
: Support for relative file paths and environment variables for events and various module paths 18)..
Add
ed
: Logging in Manage tool 19)..
Add
ed
: Windows 10 version detection 20)..
Add
ed
: Stack overflow tracing 21)..
Add
ed
: Major improvements in removal of recursive areas from call stack 22)..
Add
ed
: Statistics collection 23)..
Add
ed
: Support for uploading multiple files in JIRA 24)..
Add
ed
: EResLeaks improvements (new funcs:
Resource
Add
, Resourc
eD
elete,
Resource
Name; support for realloc-like functions) 25)..Fix
ed
:
Add
ed
workaround for bug in JIRA 5.x 26)..Fix
ed
: Rare EurekaLog internal error 27)..Fix
ed
: Ignor
ed
unhandl
ed
thread exceptions (when EurekaLog is disabl
ed
) now triggers default OS processing (WER) 28)..Fix
ed
: Irnor
ed
exceptions (via per-exception/events) now bring up default RTL handler 29)..Fix
ed
: Format error in Viewer 30)..Fix
ed
: Leak of EurekaLog exception information object 31)..Fix
ed
: Wrong chaining exceptions inside GetMem/FreeMem 32)..Fix
ed
: Memory leak after low-level unhook of function 33)..Fix
ed
: Re-parenting after ReallocMem 34)..Fix
ed
:
Ed
iting SMTP
serve
r options 35)..Fix
ed
: SMTP
serve
r not using real user e-mail in FROM field 36)..Fix
ed
: Some multi-threading crashes 37)..Fix
ed
: Fix
ed
crashes in Manage tool 38)..Fix
ed
: Range-check error in Viewer 39)..Fix
ed
: EurekaLog error dialog appearing under other windows 40)..Fix
ed
: AV when parsing TDS (emake/C++ Builder specific) 41)..Fix
ed
: Unable to build call stacks for other threads due to insufficient rights 42)..Fix
ed
: Version checks for BugZilla and JIRA 43)..Fix
ed
: Not catching out-of-module AVs when "Capture exceptions only from current module" option is check
ed
44)..Fix
ed
: Checking for remaining exceptions at shutdown (C++ Builder specific, AcquireExceptionObject returns wrong info) 45)..Fix
ed
: "get call stack of ... threads" / "suspend ... threads" options (avoid rare multithreading race conditions) 46)..Fix
ed
: Crash when naming thread without EurekaLog thread info 47)..Fix
ed
: Detection of imm
ed
iate caller for memory funcs 48)..Fix
ed
: Non-working Assign for options 49)..Fix
ed
: Handling of explicitly chain
ed
exceptions 50)..Fix
ed
: Various exception/threading fixes for MS debug provider 51)..Fix
ed
: Processing hardware unhandl
ed
exceptions (QC #55007) 52)..Fix
ed
: Unchecking dialog options when export/import 53)..Fix
ed
: BSTR leak 54)..Fix
ed
: JIRA decimal separator bug 55)..Chang
ed
: Now unhandl
ed
exceptions will be handl
ed
by EurekaLog even if EurekaLog is disabl
ed
in the thread - only global EurekaLog-enabl
ed
status is respect
ed
56)..Chang
ed
: Viewer version now matches version of EurekaLog 57)..Chang
ed
: DeleteServiceFilesOption now always False by default 58)..Chang
ed
: Spe
ed
improvements for known memory leaks (reserv
ed
leaks) 59)..Chang
ed
: Improv
ed
logging for sending 60)..Chang
ed
: Switching to detail
ed
mode without entering (mandatory) e-mail: now EL will not block this 61)..Chang
ed
: .ToString for exception info now uses compact stack formatter 62)..
Remove
d: Custom field
ed
itor (replac
ed
it with link to "Custom" page) 63)..
Remove
d: EurekaLog 7 no longer could be install
ed
over EurekaLog 6. Manage tool from EurekaLog 7 will no longer work with EurekaLog 6. EurekaLog 7.1 update 1 (7.1.1.0), 19-October-2014 1)....
Add
ed
: "Send in separat
ed
thread" option 2)....
Add
ed
: Hang detection will now use Wait Chain Traversal (WCT) on Vista+ systems to detect deadlocks in any EurekaLog-enabl
ed
threads 3)....
Add
ed
: OS install language and UI language fields in bug report 4)....Fix
ed
: Viewer is not able to decrypt reports with generics 5)....Fix
ed
: EVariantTypeCastError in Viewer when changing status of some bug reports 6)....Fix
ed
: EcxInvalidDataControllerOperation in Viewer 7)....Fix
ed
: Stack overflow at run-time for certain combination of project options 8)....Fix
ed
: BMP re-draw bug in UI dialogs 9)....Fix
ed
: Rogue "corrupt
ed
" error message for valid ZIPs of certain structure 10)..Fix
ed
: Various range check errors in Viewer 11)..Fix
ed
: Possible encoding errors for non-ASCII reports in Viewer on certain environments 12)..Fix
ed
: Wrong count in Viewer when importing reports without proper "count" field 13)..Fix
ed
: Duplicate reports may appear in bug report file when "Do not save duplicate errors" option is check
ed
14)..Fix
ed
: False-positive detection of some virtual machines 15)..Fix
ed
: Processing of exceptions from message handlers during message pumping cycle inside exception dialogs 16)..Fix
ed
: Access Violation if exception dialog was terminat
ed
by exception 17)..Fix
ed
: Hardware exceptions from unit's initialization/finalization may be unprocess
ed
18)..Chang
ed
: "VIEW" action for Viewer now will open ALL bug reports inside bug report file; reports will not be merg
ed
by BugID. "IMPORT" action remains the same: duplicate reports are merg
ed
, "count" is increas
ed
19)..Chang
ed
: Charset field in bug report now shows both charset and code page EurekaLog 7.1 (7.1.0.00), 23-September-2014 1)....
Add
ed
: XE7 support 2)....
Add
ed
: XE6 support 3)....
Add
ed
: New DLL demo 4)....
Add
ed
: Custom profiles are now shown in "Application type" combo-box 5)....
Add
ed
: Non-empty "steps to reproduce" will be
add
ed
to existing bug tracker issues with empty "steps to reproduce" 6)....
Add
ed
: Support for custom fields in FogBugz (API version 8 and above) 7)....
Add
ed
: Support for unsequenc
ed
line numbers in PDB/DBG files (--el_source switch) 8)....Fix
ed
: XML bug report were generat
ed
wrong 9)....Fix
ed
: Strip relocations code for Win64 10)..Fix
ed
: EurekaLog conditional symbols
remove
d improperly when deactivating EurekaLog 11)..Fix
ed
: Sending reports to non-default port numbers (affects web-bas
ed
methods) 12)..Fix
ed
: SSL validation check may reject valid SSL certificate (SMTP Client/
Serve
r) 13)..Fix
ed
: SSL errors may be not report
ed
14)..Fix
ed
: Viewer did not consider empty bug reports as corrupt
ed
15)..Fix
ed
: "DLL" profile now can be us
ed
with packages properly 16)..Fix
ed
: Few rare memory leaks 17)..Fix
ed
: Possible deadlock when using MS debug info provider 18)..Fix
ed
: C++ Builder project files was sav
ed
incorrectly (RAD Studio 2007+) 19)..Fix
ed
: "Show restart checkbox after N errors" counts handl
ed
exceptions 20)..Fix
ed
: IDE expert's DPR parser (
add
ed
support for multi-part idents) 21)..Fix
ed
: Rare access violation in hook code 22)..Fix
ed
: Thread handle leaks (
add
ed
_NotifyThreadGone/_CleanupFinish
ed
Threads functions to be call
ed
manually - only when low-level hooks are not install
ed
) 23)..Fix
ed
: EurekaLog's installer hang 24)..Fix
ed
: Bug in object/class validation 25)..Fix
ed
: Bug when using TThreadEx without EurekaLog 26)..Fix
ed
: Leaks detection may not work with certain combination of options 27)..Fix
ed
: Deadlock in some cases when using EurekaLog threading option set to "enabl
ed
in RTL threads, disabl
ed
in Windows threads". 28)..Chang
ed
: TEurekaExceptionInfo.CallStack will be nil until exception is actually rais
ed
29)..Chang
ed
: FogBugz and BugZilla: chang
ed
bugs identification within project (to allow two bugs exists with same BugID in different projects) 30)..Chang
ed
: Block
ed
manual creation/destruction of ExceptionManager class and EurekaExceptionInfo 31)..Chang
ed
: ECC32/EMAKE runs from IDE without changing priority,
add
ed
ECC32PriorityClass option 32)..Improv
ed
: Minor help and text improvements EurekaLog 7.0.07 Hotfix 2 (7.0.7.2), 11-December-2013 1)....Fix
ed
: Delphi compiler code generation bug (Delphi 2007 and below) 2)....Fix
ed
: Code hooks may rarely be set incorrectly (code stub relocation fails) 3)....Fix
ed
: Win64 call stacks functions now work more similar to 32 bit call stacks EurekaLog 7.0.07 Hotfix 1 (7.0.7.1), 2-December-2013 1)....
Add
ed
: Alternative caption for e-mail input control when e-mail is mandatory 2)....Fix
ed
: Rare range check error in WinAPI visual dialogs 3)....Fix
ed
: Wrong error detection for OnExceptionError event 4)....Fix
ed
: Wrong TResponce processing 5)....Fix
ed
: Problems with encrypt
ed
call stack decoding 6)....Fix
ed
: OnPasswordRequest event may have no effect EurekaLog 7.0.07 (7.0.7.0), 25-November-2013 1)....
Add
ed
: Ability to use Assign between call stack and TStrings 2)....
Add
ed
: 64-bit disassembler 3)....
Add
ed
: Support for variables and relative file paths in "
Add
itional Files" send option 4)....
Add
ed
: --el_source switch for ecc32/emake compilers 5)....
Add
ed
: support for post-processing non-Embarcadero executables 6)....
Add
ed
: EOTL.pas unit for better OmniThreadLibrary integration 7)....
Add
ed
: RAD Studio XE5 support 8)....
Add
ed
: New "Capture call stacks of EurekaLog-enabl
ed
threads" option 9)....
Add
ed
: "Deferr
ed
call stacks" option for 64-bit 10)..
Add
ed
: Copy report to clipboard now copies both report text and report file 11)..
Add
ed
: "AttachBothXMLAndELReports" option to include both .elx and .el files into bug report 12)..
Add
ed
: EMemLeaks.MemLeaksErrorsToIgnore option to exclude certain memory errors from being consider
ed
as fatal 13)..
Add
ed
: Call stack with any encrypt
ed
entry will be fully encrypt
ed
now 14)..
Add
ed
: Option to exclude certain memory errors from being consider
ed
as fatal (EMemLeaks.MemLeaksErrorsToIgnore) 15)..
Add
ed
: New "HTTP Error Code" option for all web-bas
ed
dialogs (CGI, ISAPI, etc.) 16)..
Add
ed
: Support for Unicode in Simple MAPI send method (requires Windows 8 or latest Microsoft Office) 17)..
Add
ed
: New value for call stack detalization option (show any
add
resses, including those not belonging to any executable module) 18)..Fix
ed
: Wrong JSON escaping for strings (affects JIRA send method) 19)..Fix
ed
: Range-check error in Viewer when viewing bug reports with high
add
resses 20)..Fix
ed
: Selecting Win32 service application type is no longer resets to custom/unsupport
ed
21)..Fix
ed
: Possible hang when testing dialogs from EurekaLog project options dialog 22)..Fix
ed
: Rare resetting of some options when saving .eof file 23)..Fix
ed
: Exception pointer could be
remove
d from call stack due to debug details filtering 24)..Fix
ed
: Rare case when LastThreadException return
ed
nil while there was active thread exception 25)..Fix
ed
: Rare case when ShowLastThreadException do nothing 26)..Fix
ed
: Improv
ed
compatibility for OmniThreadLibrary and AsyncCalls 27)..Fix
ed
: Includ
ed
fix for QC #72147 28)..Fix
ed
: 64-bit MS Debug Info Provider (please, re-setup cache options using configuration dialog) 29)..Fix
ed
: "Deferr
ed
call stacks" option fail
ed
to capture call stack when exception is re-rais
ed
between threads 30)..Fix
ed
: "Deferr
ed
call stacks" option may produce cutt
ed
call stack in rare cases 31)..Fix
ed
: Several minor call stacks improvements and optimizations 32)..Fix
ed
: Several 64-bit Pointer Integer convertion issues 33)..Fix
ed
: Multi-threading deadlock issue 34)..Fix
ed
: Black screenshots in 64 bit applications 35)..Fix
ed
: Copying to clipboard hot-key was register
ed
globally 36)..Fix
ed
: Shell (mailto) send method may fail (64 bit) 37)..Fix
ed
: Possible wrong file paths for attaches in (S)MAPI send methods 38)..Fix
ed
: Environment variables were not expand
ed
in MAPI send method 39)..Fix
ed
: (non-Unicode IDE) EurekaLog is not activat
ed
when application start
ed
from folder with Unicode characters 40)..Fix
ed
: Encrypt
ed
call stacks may be encrypt
ed
partially by EurekaLog Viewer in rare cases 41)..Fix
ed
: Crash when sending leak report with visual progress dialog (only some IDEs are affect
ed
) 42)..Fix
ed
: ecc32/emake could not see external configuration file with the same name as project (e.g. Project1.eof for Project1.dpr) 43)..Fix
ed
:
Add
ed
miss
ed
RTL implementation for ExternalProps in Delphi 6 (affects Mantis sending) 44)..Fix
ed
: IDE crash when switching to threads window 45)..Chang
ed
:
Remove
d temporal solution which was us
ed
before option to defer call stack creation was introduc
ed
46)..Chang
ed
: "Default EurekaLog state in new threads" option is chang
ed
from Boolean flag into enum. You ne
ed
to re-setup this option 47)..Chang
ed
: Disable EurekaLog for thread when creating call stack or handle exception - this increases stability and performance 48)..Chang
ed
: LastException property is
remove
from exception manager as not thread safe. Use LastThreadException property instead 49)..Chang
ed
: Lock/Unlock from thread manager and exception manager are
remove
d to avoid deadlocks 50)..Chang
ed
: ThreadsSnapshot tool now tries to capture call stack without injecting DLL 51)..Chang
ed
: Build events now runs with CREATE_NO_WINDOW flag (console window is hidden) 52)..Improv
ed
: More articles in help EurekaLog 7.0.06 (7.0.6.0), 1-June-2013 1)....
Add
ed
: Experimental 64 bit C++ Builder support 2)....
Add
ed
: New tab in EurekaLog project options: "External tools" 3)....
Add
ed
: Option to catch all IDE errors (to debug your own IDE packages) 4)....
Add
ed
: Option to catch only exceptions from current module 5)....
Add
ed
: Option to defer building call stack 6)....
Add
ed
: RAD Studio XE4 support 7)....
Add
ed
: Support for AppWave 8)....Fix
ed
: Fix
ed
event handlers declarations for the EurekaLog component 9)....Fix
ed
: Infinite recursive calls when using ToString from EndReport event handler 10)..Fix
ed
: UPX compatibility issue 11)..Fix
ed
: Range check errors for system error codes 12)..Fix
ed
: Rare IDE stack overflow 13)..Fix
ed
: JIRA unit was not
add
ed
automatically 14)..Fix
ed
: EurekaLog no longer tries to check for leaks when memory manager filter is disabl
ed
15)..Fix
ed
: Possible deadlock on shutdown with freeze checks active 16)..Fix
ed
: Issues with settings dialog and Win32 Service application type 17)..Fix
ed
: ThreadSnapshot tool was not able to take snapshots of Win64 processes 18)..Fix
ed
: WCT is disabl
ed
for leaks 19)..Fix
ed
: TContext declarations for Win64 20)..Fix
ed
: Check for updates now correctly sets time of last check 21)..Fix
ed
: (Win64) Several Pointer Integer convertion errors 22)..Fix
ed
: Internal error when exception info object was delet
ed
while it was still us
ed
by SysUtils exception object 23)..Fix
ed
: Semeral problems with "EurekaLog look & feel" style for EurekaLog error dialog 24)..Fix
ed
: Using text collection resets exception filters 25)..Fix
ed
: Rare access violation if registering event handlers is plac
ed
too early 26)..Fix
ed
: SMTP RFC date formatting 27)..Fix
ed
: Rare empty call stack bug 28)..Fix
ed
: Hang detection was not working if EurekaLog was disabl
ed
in threads 29)..Fix
ed
: AV for double-free TEncoding 30)..Chang
ed
: ecc32/emake no longer alters arguments for dcc32/make unless new options --el_
add
_default_options is specifi
ed
31)..Chang
ed
: Save/load options methods was mov
ed
to TEurekaModuleOptions class 32)..Chang
ed
: Saving options to EOF file now
add
s hidden options and
remove
s obsolete options (only when compatibility mode is off) 33)..Chang
ed
: Compiling install
ed
packages now silently ignores EurekaLog instead of showing "File is in use" error message 34)..Improv
ed
: More readable disk/memory sizes in bug reports 35)..Improv
ed
: More descriptive settings dialog when using external configuration 36)..Improv
ed
: ThreadSnapshot tool now aquir
ed
DEBUG privil
ed
ge for taking snapshot. This allows it to bypass security access checks when opening target process. 37)..Improv
ed
: Chang
ed
BugID default generation to include error code for OS errors and error message for DB errors 38)..Improv
ed
: Mantis API (WSDL) was updat
ed
to the latest version (1.2.14) 39)..Improv
ed
: IntraWeb compatibility (old and new versions) 40)..Improv
ed
: COM applications compatibility 41)..Improv
ed
: Build events now accept shell commands 42)..Improv
ed
: More articles in help EurekaLog 7.0.05 (7.0.5.0), 7-February-2013 1)....
Add
ed
: JIRA support 2)....
Add
ed
: Virtual machine detection (new field in bug reports) 3)....Fix
ed
: "Use Main Module options" option was loading empty options for some cases 4)....Fix
ed
: Wrong record declarations for Simple MAPI on Win64 5)....Fix
ed
: Performance issues with batch module options updating 6)....Fix
ed
: Wrong leaks report with both MemLeaks/ResLeaks options active 7)....Fix
ed
: Wrong info for nest
ed
exceptions in some cases 8)....Fix
ed
: AV under debugger for Win64 (
add
ed
support for _TExitDllException) 9)....Fix
ed
: Wrong record declarations for process/thread info on Win64 10)..Fix
ed
: Support for FinalBuilder on XE2/XE3 with spaces in file paths 11)..Fix
ed
: Rare double-free of module information (ModuleInfoList) 12)..Fix
ed
: Rare External Exception C000071C on shutdown (only under debuggger) 13)..Fix
ed
:
Add
ed
large
add
resses support in Viewer 14)..Fix
ed
: Counter options in memory leaks category is now working properly 15)..Fix
ed
: Rare range-check error in TEurekaModulesList.
Add
ModuleFromFileName 16)..Fix
ed
: FTP force directories dead lock 17)..Fix
ed
: Fix
ed
wrong index being us
ed
when clearing compatibility mode (EurekaLog project options dialog) 18)..Fix
ed
: Default thread state do not affect main thread now 19)..Fix
ed
: Sometimes wrong thread may be us
ed
when altering EurekaLog active state for external thread 20)..Fix
ed
: Wrong DNS lookup on ANSI 21)..Fix
ed
: Problems with IDE expert and projects on network paths 22)..Fix
ed
:
Add
ed
support for arguments in URLs (HTTP sending) 23)..Fix
ed
: Possible deadlock in multithread
ed
applications 24)..Fix
ed
: Problems with unicode characters in project files on non-Unicode IDEs 25)..Fix
ed
: Infinite recursive calls when using ToString from EndReport event handler 26)..Fix
ed
: Win64 GetCaller now returns pointer to call instruction, not return
add
ress 27)..Improv
ed
: Standalone
Ed
itor do not force save/load folder by default 28)..Improv
ed
: DLL profile now can use
add
itional application type hooks automatically 29)..Improv
ed
: EurekaLog now able to work with read-only projects (see help for more info) EurekaLog 7.0.04 (7.0.4.0), 2-December-2012 1)....
Add
ed
: Support for nest
ed
exceptions in DLLs 2)....Fix
ed
: Options bug in EurekaLogSendEmail function 3)....Fix
ed
: Weird behaviour for steps to reproduce and custom fields 4)....Fix
ed
: Installation for single personality (BDS) 5)....Fix
ed
: Range check error in EModules 6)....Fix
ed
: Bug in exception destroy hook 7)....Fix
ed
: OnExceptionNotify event is no longer call
ed
for handl
ed
exceptions without option check
ed
8)....Fix
ed
: DEP checks on startup no longer cause exception 9)....Fix
ed
: Invalid declaration for MS Debug API 10)..Fix
ed
: OLE mode change error for "Test" send button 11)..Fix
ed
: Fixes for multiply loading of the same DLL 12)..Fix
ed
:
Remove
d PNG compression from icons (tools) 13)..Fix
ed
: Range-check error in dialogs with EurekaLog style enabl
ed
14)..Fix
ed
: Send progress dialog may keep busy forever processing window messages (message flood from rapid application GUI updates) 15)..Fix
ed
: Thread pausing options now work correctly 16)..Improv
ed
: New features in exception filters - marking exceptions as "expect
ed
", filtering by properties (RTTI) 17)..Improv
ed
: Recovery from memory errors without debugging memory manager 18)..Improv
ed
: Viewer's password
ed
it now hides password with asterisks 19)..Updat
ed
: Chang
ed
names of .inc files to avoid name conflicts with other libraries 20)..Updat
ed
: Help EurekaLog 7.0.03 (7.0.3.0), 6-October-2012 1)....Fix
ed
:
Remove
d some consts keywords for event handlers, so now C++ Builder can alter arguments (this change may require you to adjust your custom code) 2)....Fix
ed
: Fallback code for false-positive results on memory probing 3)....Fix
ed
: Range check errors in SSL/TLS implementation 4)....Fix
ed
: "EurekaLog is not active" error message during send testing 5)....Fix
ed
: Incorrect memory probing when DEP is off (old systems) 6)....Fix
ed
: Installation of 64-bit BPLs 7)....Fix
ed
: Dialog preview 8)....Fix
ed
: Win64 fixes for XE3 9)....Fix
ed
: Support for project groups (mix
ed
project types) 10)..Fix
ed
: Windows 2000 hooks compatibility 11)..Fix
ed
: mailto double quotes escaping 12)..Fix
ed
: Simple MAPI WOW compatibility 13)..Fix
ed
: Simple MAPI modal issues 14)..Fix
ed
: Various range check errors 15)..Chang
ed
:
Remove
d minor version number from program group name 16)..Updat
ed
: Help EurekaLog 7.0.02 hot-fix 1 (7.0.2.1), 12-September-2012 1)....Fix
ed
: Range check error in Viewer 2)....Fix
ed
: Bug in hooking code EurekaLog 7.0.02 (7.0.2.0), 11-September-2012 1)....
Add
ed
: Improv
ed
memory problems detection 2)....
Add
ed
: Minor IDE Expert usability improvements 3)....
Add
ed
: Auto-size feature for detail
ed
error dialog 4)....
Add
ed
: Workaround for QC #106935 5)....
Add
ed
: Workaround for bug in InvokeRegistry (SOAP/Mantis) 6)....Fix
ed
: Nest
ed
OS exceptions 7)....Fix
ed
: Multiply Win64 fixes 8)....Fix
ed
: Compatibility mode fixes 9)....Fix
ed
: Alter
ed
behaviour of "
Add
BugID/Date/ComputerName" options 10)..Fix
ed
: Blank screenshots 11)..Fix
ed
: Check file for corruptions 12)..Fix
ed
: Viewer is unable to decrypt certain bug reports 13)..Fix
ed
: Internal DoNoTouch option now works for post-processing and condtionals 14)..Fix
ed
: Possible out of memory error for "Do not store class/proc
ed
ure names" option 15)..Fix
ed
: EurekaLog did not properly install itself when there is only Delphi install
ed
, but no C++ Builder of the same version (or visa versa) 16)..Fix
ed
: Wrong argument for OnRaise event 17)..Fix
ed
: Handling memory errors in initialization/finalization sections 18)..Fix
ed
: Updating steps to reproduce and user e-mail in bug report 19)..Fix
ed
: Proper Success/Failure for some errors during SMTP send 20)..
Add
ed
: Workaround for wrong GUI fonts 21)..
Add
ed
: Delphi XE3 support 22)..
Add
ed
: Individual options for each exception EurekaLog 7.0.01 (7.0.1.0), 28-June-2012 1)....
Add
ed
: New "Modal window" option (MS Classic and EurekaLog dialogs) 2)....
Add
ed
: New "Own
ed
window" option (MS Classic and EurekaLog dialogs) 3)....
Add
ed
: New "Catch EurekaLog IDE Expert errors" option 4)....
Add
ed
: Backup memory manager to recover from critical errors 5)....
Add
ed
: Alternative methods to provide
add
itional features when memory filter is not set 6)....Fix
ed
: Contains fixes from hotfixes 1-3 7)....Fix
ed
: Performance improvements 8)....Fix
ed
: Improv
ed
IDE Expert's spe
ed
, stability and compatibility with other 3rd party extensions 9)....Fix
ed
: MS Classic dialog size adjustments for large "click here" translations 10)..Fix
ed
: Fix
ed
resetting few EurekaLog project options to defaults 11)..Fix
ed
: Multiplying exception filters when options are assign
ed
(for example: when switching to/from "Custom" page in project options) 12)..Fix
ed
: (Compatibility mode) Fix
ed
send options merging 13)..Fix
ed
: Updat
ed
help EurekaLog 7.0 hot-fix 3 (7.0.0.273), 20-June-2012 --------------------------- 1)....Fix
ed
: ERangeError in EResLeaks (THandle Integer) 2)....Fix
ed
: C++ Builder breakpoints for large projects 3)....Fix
ed
: Help (updates policy chang
ed
) 4)....Fix
ed
: Text collections applying 5)....Fix
ed
: Build events are now call
ed
for unlock
ed
file 6)....Fix
ed
: Proper handling of C++ Builder project options files from Delphi code (settings
ed
itor and IDE expert) 7)....Fix
ed
: Terminate/Check
ed
sub-option for MS Classic dialog 8)....Fix
ed
: Confusing message for already post-process
ed
executables 9)....Fix
ed
: Access violation for some EurekaLog IDE menu items when no project was load
ed
10)..Fix
ed
: Invoking help for "Variables" window 11)..Fix
ed
: EurekaLog Viewer version info 12)..Fix
ed
: Events in components 13)..
Add
ed
: Retry option for "Sorry, you must close all running IDE instances before installation" 14)..
Add
ed
: Italian translation 15)..
Add
ed
: Actual change log is now includ
ed
into installer 16)..
Add
ed
: Even more setup logging 17)..
Add
ed
: New help articles (recompilation and manual installation) EurekaLog 7.0 hot-fix 2 (7.0.0.261), 10-June-2012 --------------------------- 1)....Fix
ed
: Wrong version info reporting to IDE 2)....
Add
ed
: Workaround for Delphi 2005 TListView bug 3)....
Add
ed
: Workaround for possible invalid FPU state in exception handlers 4)....
Add
ed
: Miss
ed
declarations for ExceptionLog (compatibility mode) 5)....Fix
ed
: Work for unsav
ed
projects 6)....
Add
ed
: Escaping for '--' in options (confuses IDE's XML parsing) 7)....
Add
ed
: Storing thread's class/name in call stack for terminat
ed
threads 8)....
Add
ed
: More setup logging 9)....Fix
ed
: Help (broken links) 10)..
Add
ed
: "Upgrade to EurekaLog 7" help topic 11)..Fix
ed
: Clean up install
ed
files EurekaLog 7.0 hot-fix 1 (7.0.0.256), 6-June-2012 --------------------------- 1)....Fix
ed
: Invalid Format() arguments in ELogBuilder. EurekaLog 7.0, 1-June-2012 --------------------------- 1)....Improv
ed
: Main change - EurekaLog's core was rewritten (refactor
ed
) to allow more easy modification and
remove
hacks. 2)....Improv
ed
: New plugin-like architecture now allows you to exclude unus
ed
code. 3)....Improv
ed
: New plugin-like architecture now allows you to easily extends EurekaLog. 4)....Improv
ed
: Greatly extend
ed
documentation. 5)....Improv
ed
: Installer is now localiz
ed
. 6)....Improv
ed
: Greatly spe
ed
ups creation of minimal bug report (with most information disabl
ed
). 7)....Chang
ed
: EurekaLog's root IDE menu was relocat
ed
to under Tools and extend
ed
with new items. 8)....
Add
ed
: New examples. 9)....
Add
ed
: New tools (
add
ress lookup, error lookup, threads snapshot, standalone settings
ed
itor). 10)..
Add
ed
: Support for DBG/PDB formats of debug information (including symbol
serve
r support and auto-downloading). 11)..
Add
ed
: Support for madExcept debug information (experimental). 12)..
Add
ed
: WER (Windows Error Reporting) support. 13)..
Add
ed
: Full unicode support. 14)..
Add
ed
: Professional and Trial
ed
itions:
add
ed
source code (interface sections only) 15)..Improv
ed
: Dialogs - new options and new customization possibilities: 16)..
Add
ed
: All GUI dialogs: ability to test dialog directly from configuration dialog by displaying a sample window with currently specifi
ed
settings. 17)..Improv
ed
: All GUI dialogs: dialogs are DPI-awar
ed
now (auto-scale for different DPI). 18)..
Add
ed
: MessageBox dialog:
add
ed
detail
ed
mode (shows a compact call stack). 19)..
Add
ed
: MessageBox dialog:
add
ed
ability for asking a send consent. 20)..
Add
ed
: MessageBox dialog:
add
ed
support to switch to "native" message box for application. 21)..
Add
ed
: MS Classic dialog:
add
ed
control over "user e-mail"
ed
it's visibility. 22)..
Add
ed
: MS Classic dialog:
add
ed
ability to personalize dialog view with application's name and icon. 23)..
Add
ed
: MS Classic dialog:
add
ed
ability to show terminate/restart checkbox initially check
ed
. 24)..
Add
ed
: EurekaLog dialog:
add
ed
ability to personalize dialog view with application's name and icon. 25)..
Add
ed
: EurekaLog dialog:
add
ed
ability to show terminate/restart checkbox initially check
ed
. 26)..
Add
ed
: EurekaLog dialog:
add
ed
ability to switch back to non-detail
ed
view. 27)..
Add
ed
: WEB dialog:
add
ed
new tags to customize bug report page. 28)..Improv
ed
: WEB dialog: improv
ed
support for unicode and charset. 29)..
Add
ed
: New dialog type: RTL dialog. 30)..
Add
ed
: New dialog type: console output. 31)..
Add
ed
: New dialog type: system logging. 32)..
Add
ed
: New dialog type: Windows Error Reporting. 33)..Improv
ed
: Sending - new options and new customization possibilities: 34)..
Add
ed
: All send methods:
add
ed
ability to setup multiply send methods. 35)..
Add
ed
: All send methods:
add
ed
ability to change send method order. 36)..
Add
ed
: All send methods:
add
ed
separate settings for each send method. 37)..
Add
ed
: All send methods: ability to test send method directly from configuration dialog by sending a demo bug report. 38)..
Add
ed
: SMTP client send method:
add
ed
SSL support. 39)..
Add
ed
: SMTP client send method:
add
ed
TLS support. 40)..
Add
ed
: SMTP client send method:
add
ed
option for using real e-mail
add
ress. 41)..
Add
ed
: SMTP
serve
r send method:
add
ed
option for using real e-mail
add
ress. 42)..
Add
ed
: HTTP upload send method:
add
ed
support for custom backward fe
ed
back messages. 43)..
Add
ed
: FTP upload send method:
add
ed
creating folders on FTP (like remote Forc
eD
irectories). 44)..
Add
ed
: Mantis send method:
add
ed
API support (MantisConnect, out-of-the-box since Mantis 1.1.0, available as
add
-on for previous versions). 45)..
Add
ed
: Mantis send method:
add
ed
support for custom "Count" field. 46)..
Add
ed
: Mantis send method:
add
ed
options for controlling duplicates. 47)..
Add
ed
: Mantis send method:
add
ed
support for SSL/TLS. 48)..
Add
ed
: FogBugz send method:
add
ed
API support (out-of-the-box since ForBugz 7, available as
add
-on for FogBugz 6). 49)..
Add
ed
: FogBugz send method: EurekaLog will update "Occurrences" field (count of bugs). 50)..
Add
ed
: FogBugz send method: EurekaLog will respect "Stop reporting" option (BugzScout's setting). 51)..
Add
ed
: FogBugz send method: EurekaLog will respect "Scout message" option (BugzScout's setting). 52)..
Add
ed
: FogBugz send method: EurekaLog will store client's e-mail as issue's correspondent. 53)..
Add
ed
: FogBugz send method:
add
ed
options for controlling duplicates. 54)..
Add
ed
: FogBugz send method:
add
ed
support for "Area" field. 55)..
Add
ed
: FogBugz send method:
add
ed
support for SSL/TLS. 56)..
Add
ed
: BugZilla send method:
add
ed
API support. 57)..
Add
ed
: BugZilla send method:
add
ed
support for custom "Count" field. 58)..
Add
ed
: BugZilla send method:
add
ed
options for controlling duplicates. 59)..
Add
ed
: BugZilla send method:
add
ed
support for SSL/TLS. 60)..
Add
ed
: New send method: Shell (mailto protocol). 61)..
Add
ed
: New send method: extend
ed
MAPI. 62)..
Add
ed
: Support for separate code and debug info injection. 63)..
Add
ed
: Ability to use custom units before EurekaLog's units. 64)..
Add
ed
: Support for external configuration file in IDE expert. 65)..
Add
ed
: Now EurekaLog stores only those project options which are different from defaults (to save disk space and r
ed
uce noise in project file). 66)..
Add
ed
: Now EurekaLog stores project options sort
ed
(alphabet order). 67)..
Add
ed
: Separate settings for saving modules and processes lists to bug report. 68)..
Add
ed
: Support for taking screenshots of multiply monitors. 69)..
Add
ed
: More screenshot customization options. 70)..
Add
ed
: More control over bug report's file names. 71)..
Add
ed
: New environment variables. 72)..
Add
ed
: Deleting .map file after compilation. 73)..
Add
ed
: Support for different .dpr and .dproj file names. 74)..Improv
ed
: memory leaks detection feature - new options and new customization possibilities: 75)..
Add
ed
: Ability to track memory problems without activation of leaks checking. 76)..
Add
ed
: Support for sharing memory manager. 77)..
Add
ed
: Support for tracking leaks in applications built with run-time packages. 78)..
Add
ed
: Option to zero-fill fre
ed
memory. 79)..
Add
ed
: Option to enable leaks detection only when running under debugger. 80)..
Add
ed
: Option for manual activation control for leaks detection (via command-line switches). 81)..
Add
ed
: Option to select stack tracing method for memory problems. 82)..
Add
ed
: Option to trigger memory leak reporting only for large leak
ed
memory's size. 83)..
Add
ed
: Option to control limit of number of report
ed
leak. 84)..
Add
ed
: CheckHeap function to force check of heap's consistency. 85)..
Add
ed
: DumpAllocationsToFile function to save information about allocat
ed
memory to log file. 86)..
Add
ed
: Register
ed
leaks feature. 87)..
Add
ed
: Run-time control over memory leak registering. 88)..
Add
ed
: New recogniz
ed
leak type: String (both ANSI and Unicode are support
ed
). 89)..
Add
ed
: Memory features support for C++ Builder. 90)..
Add
ed
:
Resource
leaks detection feature. 91)..Improv
ed
: Compilation spe
ed
increas
ed
. 92)..
Add
ed
: Support for generics in debug information. 93)..
Add
ed
: Chain
ed
/nest
ed
exceptions support. 94)..
Add
ed
: Wait Chain Traversal support. 95)..
Add
ed
: Support for nam
ed
threads. 96)..
Add
ed
:
Add
itional information for threads in call stack. 97)..Improv
ed
: EurekaLog Viewer Tool: 98)..
Add
ed
: Now Viewer has its own help file 99)..
Add
ed
: Viewer now supports a FireBird bas
ed
database on local file or remote
serve
r. 100).
Add
ed
: You can have more that one user account for FireBird bas
ed
database. 101).
Add
ed
: Viewer now can be launch
ed
in View mode (Viewer can be configur
ed
to any DB or View mode). 102).
Add
ed
: Viewer's database now supports storing files, associat
ed
with the report (you can also
add
and
remove
files manually). 103).
Add
ed
: Viewer supports "Import" and "View" commands for report files. 104).Improv
ed
: Extend
ed
support for more log formats (XML, pack
ed
ELF, etc). 105).
Add
ed
: Columns in report's list now can be configur
ed
(you can hide and show them). 106).
Add
ed
: There are a plenty of new columns
add
ed
to report's list. 107).
Add
ed
: Ability of auto-download reports from e-mail account. 108).Improv
ed
: printing - now you can print the entire report (including screenshots). Old behaviour of printing just one tab (call stack only, for example) also remains. 109).
Add
ed
: Viewer can now have more that one run-time instance . 110).
Add
ed
: File import status dialog is now configurable (you can disable it, if you want to). 111).
Add
ed
: There is a preview area for screenshots, available in reports. 112).Improv
ed
: Now Viewer is more Vista-friendly (i.e. file associations are manag
ed
in HKCU, rather that in HKLM, storing configuration in user's Application Data, etc, etc). 113).
Add
ed
: Report's list now supports multi-select, so operations can be perform
ed
on many reports at time. 114).
Add
ed
: There are plenty of new command line abilities, like specifying several files and new switches. 115).Improv
ed
: Bunch of minor changes and improvements. WARNING: -------- There are many changes in this release. See the "Chang
ed
from the old 6.x version" help topic for further information! EurekaLog 7 also have "EurekaLog 6 backward compatibility mode". Please, refer to help file for more information. We also have the detail
ed
"Upgrade guide" in our help system.
System Error Codes/系统错误代码
Code Description 0 The operation complet
ed
successfully. 1 Incorrect function. 2 The system cannot find the file specifi
ed
. 3 The system cannot find the path specifi
ed
. 4 The system cannot open t...
Windows System Error code
Code Description 0 The operation complet
ed
successfully. 1 Incorrect function. 2 The system cannot find the file specifi
ed
. 3 The system cannot find the path sp...
(FYI) C++ Style and FAQ
homepage | C++links | FAQ | technical FAQ | glossary | compilers | publications | C++TRs | TC++PL | D&E | bio | interviews | applications | TAMU | AT&T Research Bjarne Stroustrups C++ Style and Tec
Eclipse
58,454
社区成员
49,450
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章