Downloads & Free Reading Options - Results
The Value Of Respect by Ann Donegan Johnson
Read "The Value Of Respect" by Ann Donegan Johnson through these free online access and download options.
Books Results
Source: The Internet Archive
The internet Archive Search Results
Available books for downloads and borrow from The internet Archive
1The Expectation Value Of The Metric Operator With Respect To Gaussian Weave State In Loop Quantum Gravity
By Tomoya Tsushima
Loop Quantum Gravity is the major candidate of quantum gravity. It is interesting to consider its continuum limit, which corresponds to the classical limit. We consider the Gaussian weave state, which describes a semi-classical picture. We calculate the expectation value of metric operator with respect to this state.
“The Expectation Value Of The Metric Operator With Respect To Gaussian Weave State In Loop Quantum Gravity” Metadata:
- Title: ➤ The Expectation Value Of The Metric Operator With Respect To Gaussian Weave State In Loop Quantum Gravity
- Author: Tomoya Tsushima
- Language: English
Edition Identifiers:
- Internet Archive ID: arxiv-gr-qc0212117
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 6.97 Mbs, the file-s for this book were downloaded 89 times, the file-s went public at Wed Sep 18 2013.
Available formats:
Abbyy GZ - Animated GIF - Archive BitTorrent - DjVu - DjVuTXT - Djvu XML - Item Tile - Metadata - Scandata - Single Page Processed JP2 ZIP - Text PDF -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find The Expectation Value Of The Metric Operator With Respect To Gaussian Weave State In Loop Quantum Gravity at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
2The Chromium Logo The Chromium Projects Home Chromium ChromiumOS Quick Links Report Bugs Discuss Other Sites Chromium Blog Google Chrome Extensions Except As Otherwise Noted, The Content Of This Page Is Licensed Under A Creative Commons Attribution 2.5 License, And Examples Are Licensed Under The BSD License. Privacy Edit This Page For Developers > How-Tos > Debugging Chromium On Windows First See Get The Code For Checkout And Build Instructions. Getting Started You Can Use Visual Studio's Built-in Debugger Or WinDBG To Debug Chromium. You Don't Need To Use The IDE To Build In Order To Use The Debugger: Autoninja Is Used To Build Chromium And Most Developers Invoke It From A Command Prompt, And Then Open The IDE For Debugging As Necessary. To Start Debugging An Already-built Executable With Visual Studio Just Launch Visual Studio (2019 Or Higher) And Select File-> Open-> Project/Solution (Ctrl+Shift+O) And Select The Executable Of Interest. This Will Create A Solution With That Executable As The 'project'. You Can Then Launch The Debugger With F5 Or F11 Or From The Debug Menu. If You Right-click On The Executable In Solution Explorer And Select Properties Then You Can Edit Things Such As The Executable Path, Command-line Arguments, And Working Directory. You Can Add Additional Executables To The Solution By Using File-> Add-> Existing Project And Selecting Another Already-built Executable. You Can Select Which One To Debug By Right-clicking On One Of Them In Solution Explorer And Selecting Set As Startup Project. When Your Solution File Is Customized To Your Taste You Can Save It To A Directory Such As Out\solutions. Saving It There Helps Ensure That Relative Paths To Source Files, Printed From Build Commands, Will Correctly Identify The Source Files. The Tools Menu Can Be Used To Add Commands To Do Things Like Invoke Autoninja To Build Chrome, Compile The Selected Source File, Or Other Things. Visual Studio 2017 Is Not Recommended For Debugging Of Chromium - Use A Newer Version For Best Performance And Stability. Symbol_level=2 Is The Default On Windows And Gives Full Debugging Information With Types, Locals, Globals, Function Names, And Source/line Information. Symbol_level=1 Creates Smaller PDBs With Just Function Names, And Source/line Information - Source-level Debugging Is Still Supported (new From June 2019), But Local Variables And Type Information Are Missing. Symbol_level=0 Gives Extremely Limited Debugging Abilities, Mostly Just Viewing Call Stacks When Chromium Crashes. Browsing Source Code If You Use A Solution File Generated By Gn (gn Gen --ide=vs) Then Intellisense May Help You Navigate The Code. If This Doesn't Work Or If You Use A Solution Created As Above Then You May Want To Install VsChromium To Help Navigate The Code, As Well As Using Https://source.chromium.org. Profiles It's A Good Idea To Use A Different Chrome Profile For Your Debugging. If You Are Debugging Google Chrome Branded Builds, Or Use A Chromium Build As Your Primary Browser, The Profiles Can Collide So You Can't Run Both At Once, And Your Stable Browser Might See Profile Versions From The Future (Google Chrome And Chromium Use Different Profile Directories By Default So Won't Collide). Use The Command-line Option: --user-data-dir=C:\tmp\my_debug_profile (replace The Path As Necessary) Using The IDE, Go To The Debugging Tab Of The Properties Of The Chrome Project, And Set The Command Arguments. Chrome Debug Log Enable Chrome Debug Logging To A File By Passing --enable-logging --v=1 Command-line Flags At Startup. Debug Builds Place The Chrome_debug.log File In The Out\Debug Directory. Release Builds Place The File In The Top Level Of The User Data Chromium App Directory, Which Is OS-version-dependent. For More Information, See Logging And User Data Directory Details. Symbol Server If You Are Debugging Official Google Chrome Release Builds, Use The Symbol Server: Https://chromium-browser-symsrv.commondatastorage.googleapis.com In Visual Studio, This Goes In Tools > Options Under Debugging > Symbols. You Should Set Up A Local Cache In A Empty Directory On Your Computer. In Windbg You Can Add This To Your Symbol Server Search Path With The Command Below, Where C:\symbols Is A Local Cache Directory: .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Alternately, You Can Set The _NT_SYMBOL_PATH Environment Variable To Include Both The Microsoft And Google Symbol Servers - VS, Windbg, And Other Tools Should Both Respect This Environment Variable: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Note That Symbol Servers Will Let The Debuggers Download Both The PE Files (DLLs And EXEs) And The PDB Files. Chrome Often Loads Third Party Libraries And Partial Symbols For Some Of These Are Also Public. For Example: AMD: Https://download.amd.com/dir/bin Nvidia: Https://driver-symbols.nvidia.com/ Intel: Https://software.intel.com/sites/downloads/symbols/ For Example, For Completeness, The Following Symbol Server Environment Variable Will Resolve All Of The Above Sources - But This Is More Than Is Normally Needed: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://download.amd.com/dir/bin;SRV\*C:\symbols\*https://driver-symbols.nvidia.com/;SRV\*C:\symbols\*https://software.intel.com/sites/downloads/symbols/ Source Indexing You Should Set Up Source Indexing In Your Debugger (.srcfix In Windbg, Tools-> Options-> Debugging-> General-> Enable Source Server Support In Visual Studio) So That The Correct Source Files Will Automatically Be Downloaded Based On Information In The Downloaded Symbols. Additionally, You Must Have Python In Your Path In Order For The Command That Fetches Source Files To Succeed; Launching The Debugger From The Same Environment As Where You Build Chromium Is An Easy Way To Ensure It's Present. This Is Highly Recommended When Debugging Released Google Chrome Builds Or Looking At Crash Dumps. Having The Correct Version Of The Source Files Automatically Show Up Saves Significant Time So You Should Definitely Set This. Multi-process Issues Chromium Can Be Challenging To Debug Because Of Its Multi-process Architecture. When You Select Run In The Debugger, Only The Main Browser Process Will Be Debugged. The Code That Actually Renders Web Pages (the Renderer) And The Plugins Will Be In Separate Processes That's Not (yet!) Being Debugged. The ProcessExplorer Tool Has A Process Tree View Where You Can See How These Processes Are Related. You Can Also Get The Process IDs Associated With Each Tab From The Chrome Task Manager (right-click On An Empty Area Of The Window Title Bar To Open). Automatically Attach To Child Processes There Are Two Visual Studio Extensions That Enable The Debugger To Automatically Attach To All Chrome Processes, So You Can Debug All Of Chrome At Once. Microsoft's Child Process Debugging Power Tool Is A Standalone Extension For This, And VsChromium Is Another Option That Bundles Many Other Additional Features. In Addition To Installing One Of These Extensions, You Must Run Visual Studio As Administrator, Or It Will Silently Fail To Attach To Some Of Chrome's Child Processes. Single-process Mode One Way To Debug Issues Is To Run Chromium In Single-process Mode. This Will Allow You To See The Entire State Of The Program Without Extra Work (although It Will Still Have Many Threads). To Use Single-process Mode, Add The Command-line Flag --single-process This Approach Isn't Perfect Because Some Problems Won't Manifest Themselves In This Mode And Some Features Don't Work And Worker Threads Are Still Spawned Into New Processes. Manually Attaching To A Child Process You Can Attach To The Running Child Processes With The Debugger. Select Tools > Attach To Process And Click The Chrome.exe Process You Want To Attach To. Before Attaching, Make Sure You Have Selected Only Native Code When Attaching To The Process This Is Done By Clicking Select... In The Attach To Process Window And Only Checking Native. If You Forget This, It May Attempt To Attach In "WebKit" Mode To Debug JavaScript, And You'll Get An Error Message "An Operation Is Not Legal In The Current State." You Can Now Debug The Two Processes As If They Were One. When You Are Debugging Multiple Processes, Open The Debug > Windows > Processes Window To Switch Between Them. Sometimes You Are Debugging Something That Only Happens On Startup, And Want To See The Child Process As Soon As It Starts. Use: --renderer-startup-dialog --no-sandbox You Have To Disable The Sandbox Or The Dialog Box Will Be Prohibited From Showing. When The Dialog Appears, Visit Tools > Attach To Process And Attach To The Process Showing The Renderer Startup Dialog. Now You're Debugging In The Renderer And Can Continue Execution By Pressing OK In The Dialog. Startup Dialogs Also Exist For Other Child Process Types: --gpu-startup-dialog, --ppapi-startup-dialog, --utility-startup-dialog, --plugin-startup-dialog (for NPAPI). For Utilities, You Can Add A Service Type --utility-startup-dialog=data_decoder.mojom.DataDecoderService. You Can Also Try The Vs-chromium Plug-in To Attach To The Right Processes. Semi-automatically Attaching The Debugger To Child Processes The Following Flags Cause Child Processes To Wait For 60 Seconds In A Busy Loop For A Debugger To Attach To The Process. Once Either Condition Is True, It Continues On; No Exception Is Thrown. --wait-for-debugger-children[=filter] The Filter, If Provided, Will Fire Only If It Matches The --type Parameter To The Process. Values Include Renderer, Plugin (for NPAPI), Ppapi, Gpu-process, And Utility. When Using This Option, It May Be Helpful To Limit The Number Of Renderer Processes Spawned, Using: --renderer-process-limit=1 Image File Execution Options Using Image File Execution Options (IFEO) Will Not Work Because CreateProcess() Returns The Handle To The Debugger Process Instead Of The Intended Child Process. There Are Also Issues With The Sandbox. Time Travel Debugging You Can Do Time Travel Debugging Using WinDbg Preview (must Be Installed From The Microsoft Store). This Lets You Execute A Program Forward And Backwards. After Capturing A Trace, You Can Set Breakpoints And Step Through Code As Normal, But Also Provides 'backwards' Commands (g-, T-, P-) So That You Can Go Back And Forth Through The Execution. It Is Especially Useful To Set Data Breakpoints (ba Command) And Reverse Continuing, So You Can See When A Certain Variable Was Last Changed To Its Current Value. Chromium Specifics: The Type Of Injection The Time Travel Tracer Needs To Perform Is Incompatible With The Chromium Sandbox. In Order To Record A Trace, You'll Need To Run With --no-sandbox. Chromium Cannot Run Elevated With Administrator Privileges, So The "Launch Executable (advance)" Option Won't Work, You'll Need To Attach After The Process Has Already Launched Via The Checkbox In The Bottom Right. If You Need To Record Startup-like Things, You'll Have To Use --{browser,gpu,renderer,utility}-startup-dialog, Then Attach (and Hope The Relevant Code Hasn't Executed Before That Point). JsDbg -- Data Structure Visualization You Can Install JsDbg As A Plugin For WinDbg Or Visual Studio. It Interactively Lets You Look At Data Structures (such As The DOM Tree, Accessibility Tree, Layout Object Tree, And Others) In A Web Browser As You Debug. See The JsDbg Site For Some Screen Shots And Usage Examples. This Also Works When Examining Memory Dumps (though Not Minidumps), And Also Works Together With Time Travel Debugging. Visual Studio Hints Debug Visualizers Chrome's Custom Debug Visualizers Should Be Added To The Pdb Files And Automatically Picked Up By Visual Studio. The Definitions Are In //tools/win/DebugVisualizers If You Need To Modify Them (the BUILD.gn File There Has Additional Instructions). Don't Step Into Trivial Functions The Debugger Can Be Configured To Automatically Not Step Into Functions Based On Regular Expression. Edit Default.natstepfilter In The Following Directory: For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for The Current User Only) For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for The Current User Only) Add Regular Expressions Of Functions To Not Step Into. Remember To Regex-escape And XML-escape Them, E.g. < For < And \. For A Literal Dot. Example: Operator New NoStepInto Operator Delete NoStepInto Std::.* NoStepInto WTF::.*Ptr ::.* NoStepInto This File Is Read At Start Of A Debugging Session (F5), So You Don't Need To Restart Visual Studio After Changing It. More Info: Microsoft Email Thread V8 And Chromium V8 Supports Many Command-line Flags That Are Useful For Debugging. V8 Command-line Flags Can Be Set Via The Chromium Command-line Flag --js-flags; For Instance: Chrome.exe --js-flags="--trace_exception --heap_stats" Note That Some V8 Command-line Flags Exist Only In The Debug Build Of V8. For A List Of All V8 Flags Try: Chrome.exe --js-flags="--help" Graphics Debugging GPU Acceleration Of Rendering Can Be More Easily Debugged With Tools. See: Graphics Debugging In Visual Studio 2013 Graphical Debugging With NVIDIA NSight Debugging On Another Machine Sometimes It's Useful To Debug Installation And Execution On A Machine Other Than Your Primary Build Box. To Run The Installer On Said Other Machine, First Build The Mini_installer Target On Your Main Build Machine (e.g., Autoninja -C Out\Debug Mini_installer). Next, On The Debug Machine: Make The Build Machine's Build Volume Available On The Debug Machine Either By Mounting It Locally (e.g., Z:\) Or By Crafting A UNC Path To It (e.g., \\builder\src) Open Up A Command Prompt And Change To A Local Disk Run Src\tools\win\copy-installer.bat In The Remote Checkout By Way Of The Mount (e.g., Z:\PATHTOCHECKOUT\src\...) Or UNC Path (e.g., \\builder\src\...). This Will Copy The Installer, DLLs, And PDBs Into Your Debug Machine's C:\out Or C:\build (depending On If You're Rocking The Component=shared_library Build Or Not) Run C:\out\Debug\mini_installer.exe With The Flags Of Your Choice To Install Chrome. This Can Take Some Time, Especially On A Slow Machine. Watch The Task Manager And Wait Until Mini_installer.exe Exits Before Trying To Launch Chrome (by Way Of The Shortcut(s) Created By The Installer) For Extra Pleasure, Add C:\out\Debug To Your _NT_SYMBOL_PATH Environment Variable Consider Reading The Documentation At The Top Of Copy-installer.bat To See How You Can Run It. It Tries To Be Smart And Copy The Right Things, But You May Need To Be Explicit (e.g., "copy-installer.bat Out Debug"). It Is Safe To Re-run The Script To Copy Only Modified Files (after A Rebuild, For Example). You Can Also Use The Zip Action Of The Isolate Scripts (tools\mb\mb.py) To Package All The Files For A Target Into A Single Zip File, For Example: Python Tools\mb\mb.py Zip Out/Release Base_unittests Base_unittests.zip Finding All Memory Allocations It Is Possible To Use Heap Snapshots To Get Call Stacks On All Outstanding Allocations That Use The OS Heap. This Works Particularly Well If Heap Snapshots Are Started As Soon As The Chrome Browser Process Is Created, But Before It Starts Running. Details Can Be Found In This Batch File. However, With PartitionAlloc Everywhere Most Chromium Allocations No Longer Use The Windows Heap So This Will Only Find A Subset Of Allocations, Mostly From OS DLLs. Find Memory Leaks Note: As With Heap Snapshots The Utility Of UMDH Is Greatly Reduced Now Because PartitionAlloc Everywhere Has Mostly Replaced The Windows Heap. The Windows Heap Manager Has A Really Useful Debug Flag, Where It Can Be Asked To Capture And Store A Stack Trace With Every Allocation. The Tool To Scrape These Stack Traces Out Of Processes Is UMDH, Which Comes With WinDbg. UMDH Is Great. It Will Capture A Snapshot Of The Heap State As Many Times As You Like, And It'll Do It Fairly Quickly. You Then Run It Again Against Either A Single Snapshot, Or A Pair Of Snapshots, At Which Time It'll Symbolize The Stack Traces And Aggregate Usage Up To Unique Stack Traces. Turning On The User Stack Trace Database For Chrome.exe With Gflags.exe Makes It Run Unbearably Slowly; However, Turning On The User Stack Trace Database On For The Browser Alone Is Just Fine. While It's Possible To Turn On The User Stack Database With The "!gflag" Debugging Extension, It's Too Late To Do This By The Time The Initial Debugger Breakpoint Hits. The Only Reasonable Way To Do This Is To Launch GFlags.exe, Enable The User Stack Trace Database (per Image Below), Launch Chrome Under The Debugger. Set A Breakpont When Chrome.dll Loads With "sxe Ld Chrome.dll". Step Up, To Allow Chrome.dll To Initialize. Disable The Stack Trace Database In GFlags.exe. Continue Chrome, Optionally Detaching The Debugger. Image GFlags.exe Settings For User Mode Stack Trace Database. If You Then Ever Suffer A Browser Memory Leak, You Can Snarf A Dump Of The Process With Umdh -p: > Chrome-browser-leak-umdh-dump.txt Which Can Then Typically Be "trivially" Analyzed To Find The Culprit. Miscellaneous Note That By Default Application Verifier Only Works With Non-official Builds Of Chromium. To Use Application Verifier On Official Builds You Need To Add --disable-features=RendererCodeIntegrity To Avoid Sandbox Crashes In Renderer Processes. See Crbug.com/1004989 For Details. See Also This Page. Application Verifier Is A Free Tool From Microsoft (available As Part Of The Windows SDK) That Can Be Used To Flush Out Programming Errors. Starting With M68 Application Verifier Can Be Enabled For Chrome.exe Without Needing To Disable The Sandbox. After Adding Chrome.exe To The List Of Applications To Be Stressed You Need To Expand The List Of Basics Checks And Disable The Leak Checks. You May Also Need To Disable Handles And Locks Checks Depending On Your Graphics Driver And Specific Chrome Version, But The Eventual Goal Is To Have Chrome Run With Handles And Locks Checks Enabled. When Bugs Are Found Chrome Will Trigger A Breakpoint So Running All Chrome Processes Under A Debugger Is Recommended. Chrome Will Run Much More Slowly Because Application Verifier Puts Every Heap Allocation On A Separate Page. Note That With PartitionAlloc Everywhere Most Chromium Allocations Don't Actually Go Through The Windows Heap And Are Therefore Unaffected By Application Verifier. You Can Check The Undocumented 'Cuzz' Checkbox In Application Verifier To Get The Windows Thread Scheduler To Add Some Extra Randomness In Order To Help Expose Race Conditions In Your Code. To Put A Breakpoint On CreateFile(), Add This Break Point: {,,kernel32.dll}_CreateFileW@28 {,,kernel32.dll} Specifies The DLL (context Operator). _ Prefix Means Extern "C". @28 Postfix Means _stdcall With The Stack Pop At The End Of The Function. I.e. The Number Of Arguments In BYTES. You Can Use DebugView From SysInternals Or Sawbuck To View LOG() Messages That Normally Go To Stderr On POSIX.
The Chromium Projects Home Chromium ChromiumOS Quick links Report bugs Discuss Other sites Chromium Blog Google Chrome Extensions Except as otherwise noted , the content of this page is licensed under a Creative Commons Attribution 2.5 license , and examples are licensed under the BSD License . Privacy Edit this page For Developers > How-Tos > Debugging Chromium on Windows First see get the code for checkout and build instructions. Getting started You can use Visual Studio's built-in debugger or WinDBG to debug Chromium. You don't need to use the IDE to build in order to use the debugger: autoninja is used to build Chromium and most developers invoke it from a command prompt, and then open the IDE for debugging as necessary. To start debugging an already-built executable with Visual Studio just launch Visual Studio (2019 or higher) and select File-> Open-> Project/Solution (Ctrl+Shift+O) and select the executable of interest. This will create a solution with that executable as the 'project'. You can then launch the debugger with F5 or F11 or from the Debug menu. If you right-click on the executable in Solution Explorer and select properties then you can edit things such as the executable path, command-line arguments, and working directory. You can add additional executables to the solution by using File-> Add-> Existing Project and selecting another already-built executable. You can select which one to debug by right-clicking on one of them in Solution Explorer and selecting Set as Startup Project. When your solution file is customized to your taste you can save it to a directory such as out\solutions. Saving it there helps ensure that relative paths to source files, printed from build commands, will correctly identify the source files. The Tools menu can be used to add commands to do things like invoke autoninja to build Chrome, compile the selected source file, or other things. Visual Studio 2017 is not recommended for debugging of Chromium - use a newer version for best performance and stability. symbol_level=2 is the default on Windows and gives full debugging information with types, locals, globals, function names, and source/line information. symbol_level=1 creates smaller PDBs with just function names, and source/line information - source-level debugging is still supported (new from June 2019), but local variables and type information are missing. symbol_level=0 gives extremely limited debugging abilities, mostly just viewing call stacks when Chromium crashes. Browsing source code If you use a solution file generated by gn ( gn gen --ide=vs ) then Intellisense may help you navigate the code. If this doesn't work or if you use a solution created as above then you may want to install VsChromium to help navigate the code, as well as using https://source.chromium.org . Profiles It's a good idea to use a different Chrome profile for your debugging. If you are debugging Google Chrome branded builds, or use a Chromium build as your primary browser, the profiles can collide so you can't run both at once, and your stable browser might see profile versions from the future (Google Chrome and Chromium use different profile directories by default so won't collide). Use the command-line option: --user-data-dir =C:\tmp\my_debug_profile (replace the path as necessary) Using the IDE, go to the Debugging tab of the properties of the chrome project, and set the Command Arguments. Chrome debug log Enable Chrome debug logging to a file by passing --enable-logging --v=1 command-line flags at startup. Debug builds place the chrome_debug.log file in the out\Debug directory. Release builds place the file in the top level of the user data Chromium app directory, which is OS-version-dependent. For more information, see logging and user data directory details. Symbol server If you are debugging official Google Chrome release builds, use the symbol server: https://chromium-browser-symsrv.commondatastorage.googleapis.com In Visual Studio, this goes in Tools > Options under Debugging > Symbols . You should set up a local cache in a empty directory on your computer. In windbg you can add this to your symbol server search path with the command below, where C:\symbols is a local cache directory: .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Alternately, You can set the _NT_SYMBOL_PATH environment variable to include both the Microsoft and Google symbol servers - VS, windbg, and other tools should both respect this environment variable: _NT_SYMBOL_PATH =SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols ;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Note that symbol servers will let the debuggers download both the PE files (DLLs and EXEs) and the PDB files. Chrome often loads third party libraries and partial symbols for some of these are also public. For example: AMD : https://download.amd.com/dir/bin Nvidia : https://driver-symbols.nvidia.com/ Intel : https://software.intel.com/sites/downloads/symbols/ For example, for completeness, the following symbol server environment variable will resolve all of the above sources - but this is more than is normally needed: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://download.amd.com/dir/bin;SRV\*C:\symbols\*https://driver-symbols.nvidia.com/;SRV\*C:\symbols\*https://software.intel.com/sites/downloads/symbols/ Source indexing You should set up source indexing in your debugger ( .srcfix in windbg, Tools-> Options-> Debugging-> General-> Enable source server support in Visual Studio) so that the correct source files will automatically be downloaded based on information in the downloaded symbols. Additionally, you must have python in your path in order for the command that fetches source files to succeed; launching the debugger from the same environment as where you build Chromium is an easy way to ensure it's present. This is highly recommended when debugging released Google Chrome builds or looking at crash dumps. Having the correct version of the source files automatically show up saves significant time so you should definitely set this. Multi-process issues Chromium can be challenging to debug because of its multi-process architecture . When you select Run in the debugger, only the main browser process will be debugged. The code that actually renders web pages (the Renderer) and the plugins will be in separate processes that's not (yet!) being debugged. The ProcessExplorer tool has a process tree view where you can see how these processes are related. You can also get the process IDs associated with each tab from the Chrome Task Manager (right-click on an empty area of the window title bar to open). Automatically attach to child processes There are two Visual Studio extensions that enable the debugger to automatically attach to all Chrome processes, so you can debug all of Chrome at once. Microsoft's Child Process Debugging Power Tool is a standalone extension for this, and VsChromium is another option that bundles many other additional features. In addition to installing one of these extensions, you must run Visual Studio as Administrator, or it will silently fail to attach to some of Chrome's child processes. Single-process mode One way to debug issues is to run Chromium in single-process mode. This will allow you to see the entire state of the program without extra work (although it will still have many threads). To use single-process mode, add the command-line flag --single-process This approach isn't perfect because some problems won't manifest themselves in this mode and some features don't work and worker threads are still spawned into new processes. Manually attaching to a child process You can attach to the running child processes with the debugger. Select Tools > Attach to Process and click the chrome.exe process you want to attach to. Before attaching, make sure you have selected only Native code when attaching to the process This is done by clicking Select... in the Attach to Process window and only checking Native. If you forget this, it may attempt to attach in "WebKit" mode to debug JavaScript, and you'll get an error message "An operation is not legal in the current state." You can now debug the two processes as if they were one. When you are debugging multiple processes, open the Debug > Windows > Processes window to switch between them. Sometimes you are debugging something that only happens on startup, and want to see the child process as soon as it starts. Use: --renderer-startup-dialog --no-sandbox You have to disable the sandbox or the dialog box will be prohibited from showing. When the dialog appears, visit Tools > Attach to Process and attach to the process showing the Renderer startup dialog. Now you're debugging in the renderer and can continue execution by pressing OK in the dialog. Startup dialogs also exist for other child process types: --gpu-startup-dialog , --ppapi-startup-dialog , --utility-startup-dialog , --plugin-startup-dialog (for NPAPI). For utilities, you can add a service type --utility-startup-dialog=data_decoder.mojom.DataDecoderService . You can also try the vs-chromium plug-in to attach to the right processes. Semi-automatically attaching the debugger to child processes The following flags cause child processes to wait for 60 seconds in a busy loop for a debugger to attach to the process. Once either condition is true, it continues on; no exception is thrown. --wait-for-debugger-children [=filter] The filter, if provided, will fire only if it matches the --type parameter to the process. Values include renderer , plugin (for NPAPI), ppapi , gpu-process , and utility . When using this option, it may be helpful to limit the number of renderer processes spawned, using: --renderer-process-limit = 1 Image File Execution Options Using Image File Execution Options (IFEO) will not work because CreateProcess() returns the handle to the debugger process instead of the intended child process. There are also issues with the sandbox. Time travel debugging You can do time travel debugging using WinDbg Preview (must be installed from the Microsoft Store). This lets you execute a program forward and backwards. After capturing a trace, you can set breakpoints and step through code as normal, but also provides 'backwards' commands (g-, t-, p-) so that you can go back and forth through the execution. It is especially useful to set data breakpoints ( ba command ) and reverse continuing, so you can see when a certain variable was last changed to its current value. Chromium specifics: The type of injection the time travel tracer needs to perform is incompatible with the Chromium sandbox. In order to record a trace, you'll need to run with --no-sandbox . Chromium cannot run elevated with Administrator privileges, so the "Launch executable (advance)" option won't work, you'll need to attach after the process has already launched via the checkbox in the bottom right. If you need to record startup-like things, you'll have to use --{browser,gpu,renderer,utility}-startup-dialog, then attach (and hope the relevant code hasn't executed before that point). JsDbg -- data structure visualization You can install JsDbg as a plugin for WinDbg or Visual Studio . It interactively lets you look at data structures (such as the DOM tree, Accessibility tree, layout object tree, and others) in a web browser as you debug. See the JsDbg site for some screen shots and usage examples. This also works when examining memory dumps (though not minidumps), and also works together with time travel debugging. Visual Studio hints Debug visualizers Chrome's custom debug visualizers should be added to the pdb files and automatically picked up by Visual Studio. The definitions are in //tools/win/DebugVisualizers if you need to modify them (the BUILD.gn file there has additional instructions). Don't step into trivial functions The debugger can be configured to automatically not step into functions based on regular expression. Edit default.natstepfilter in the following directory: For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for all users) or %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for the current user only) For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for all users) or %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for the current user only) Add regular expressions of functions to not step into. Remember to regex-escape and XML-escape them, e.g. < for < and \. for a literal dot. Example: < Function > < Name > operator new </ Name > < Action > NoStepInto </ Action > </ Function > < Function > < Name > operator delete </ Name > < Action > NoStepInto </ Action > </ Function > <!-- Skip everything in std --> < Function > < Name > std::.* </ Name > < Action > NoStepInto </ Action > </ Function > <!-- all methods on WebKit OwnPtr and variants, ... WTF::*Ptr<*>::* --> < Function > < Name > WTF::.*Ptr<.*>::.* </ Name > < Action > NoStepInto </ Action > </ Function > This file is read at start of a debugging session (F5), so you don't need to restart Visual Studio after changing it. More info: Microsoft email thread V8 and Chromium V8 supports many command-line flags that are useful for debugging. V8 command-line flags can be set via the Chromium command-line flag --js-flags; for instance: chrome.exe --js-flags= "--trace_exception --heap_stats" Note that some V8 command-line flags exist only in the debug build of V8. For a list of all V8 flags try: chrome.exe --js-flags= "--help" Graphics debugging GPU Acceleration of rendering can be more easily debugged with tools. See: Graphics Debugging in Visual Studio 2013 Graphical debugging with NVIDIA NSight Debugging on another machine Sometimes it's useful to debug installation and execution on a machine other than your primary build box. To run the installer on said other machine, first build the mini_installer target on your main build machine (e.g., autoninja -C out\Debug mini_installer). Next, on the debug machine: Make the build machine's build volume available on the debug machine either by mounting it locally (e.g., Z:\) or by crafting a UNC path to it (e.g., \\builder\src) Open up a command prompt and change to a local disk Run src\tools\win\ copy-installer.bat in the remote checkout by way of the mount (e.g., Z:\PATHTOCHECKOUT\src\...) or UNC path (e.g., \\builder\src\...). This will copy the installer, DLLs, and PDBs into your debug machine's C:\out or C:\build (depending on if you're rocking the component=shared_library build or not) Run C:\out\Debug\mini_installer.exe with the flags of your choice to install Chrome. This can take some time, especially on a slow machine. Watch the Task Manager and wait until mini_installer.exe exits before trying to launch Chrome (by way of the shortcut(s) created by the installer) For extra pleasure, add C:\out\Debug to your _NT_SYMBOL_PATH environment variable Consider reading the documentation at the top of copy-installer.bat to see how you can run it. It tries to be smart and copy the right things, but you may need to be explicit (e.g., "copy-installer.bat out Debug"). It is safe to re-run the script to copy only modified files (after a rebuild, for example). You can also use the zip action of the isolate scripts (tools\mb\mb.py) to package all the files for a target into a single zip file, for example: python tools\mb\mb.py zip out/Release base_unittests base_unittests. zip Finding all memory allocations It is possible to use Heap Snapshots to get call stacks on all outstanding allocations that use the OS heap. This works particularly well if heap snapshots are started as soon as the Chrome browser process is created, but before it starts running. Details can be found in this batch file . However, with PartitionAlloc Everywhere most Chromium allocations no longer use the Windows heap so this will only find a subset of allocations, mostly from OS DLLs. Find memory leaks Note: as with Heap Snapshots the utility of UMDH is greatly reduced now because PartitionAlloc Everywhere has mostly replaced the Windows heap. The Windows heap manager has a really useful debug flag, where it can be asked to capture and store a stack trace with every allocation. The tool to scrape these stack traces out of processes is UMDH, which comes with WinDbg . UMDH is great. It will capture a snapshot of the heap state as many times as you like, and it'll do it fairly quickly. You then run it again against either a single snapshot, or a pair of snapshots, at which time it'll symbolize the stack traces and aggregate usage up to unique stack traces. Turning on the user stack trace database for chrome.exe with gflags.exe makes it run unbearably slowly; however, turning on the user stack trace database on for the browser alone is just fine. While it's possible to turn on the user stack database with the "!gflag" debugging extension, it's too late to do this by the time the initial debugger breakpoint hits. The only reasonable way to do this is to Launch GFlags.exe, Enable the user stack trace database (per image below), Launch Chrome under the debugger. Set a breakpont when chrome.dll loads with "sxe ld chrome.dll". Step up, to allow Chrome.dll to initialize. Disable the stack trace database in GFlags.exe. Continue chrome, optionally detaching the debugger. GFlags.exe settings for user mode stack trace database. If you then ever suffer a browser memory leak, you can snarf a dump of the process with umdh - p :<my browser pid> > chrome-browser-leak-umdh-dump.txt which can then typically be "trivially" analyzed to find the culprit. Miscellaneous Note that by default Application Verifier only works with non-official builds of Chromium. To use Application Verifier on official builds you need to add --disable-features=RendererCodeIntegrity to avoid sandbox crashes in renderer processes. See crbug.com/1004989 for details. See also this page . Application Verifier is a free tool from Microsoft (available as part of the Windows SDK) that can be used to flush out programming errors. Starting with M68 Application Verifier can be enabled for chrome.exe without needing to disable the sandbox. After adding chrome.exe to the list of applications to be stressed you need to expand the list of Basics checks and disable the Leak checks. You may also need to disable Handles and Locks checks depending on your graphics driver and specific Chrome version, but the eventual goal is to have Chrome run with Handles and Locks checks enabled. When bugs are found Chrome will trigger a breakpoint so running all Chrome processes under a debugger is recommended. Chrome will run much more slowly because Application Verifier puts every heap allocation on a separate page. Note that with PartitionAlloc Everywhere most Chromium allocations don't actually go through the Windows heap and are therefore unaffected by Application Verifier. You can check the undocumented 'Cuzz' checkbox in Application Verifier to get the Windows thread scheduler to add some extra randomness in order to help expose race conditions in your code. To put a breakpoint on CreateFile(), add this break point: {,,kernel32.dll}_CreateFileW@28 {,,kernel32.dll} specifies the DLL (context operator). _ prefix means extern "C". @28 postfix means _stdcall with the stack pop at the end of the function. i.e. the number of arguments in BYTES. You can use DebugView from SysInternals or sawbuck to view LOG() messages that normally go to stderr on POSIX.
“The Chromium Logo The Chromium Projects Home Chromium ChromiumOS Quick Links Report Bugs Discuss Other Sites Chromium Blog Google Chrome Extensions Except As Otherwise Noted, The Content Of This Page Is Licensed Under A Creative Commons Attribution 2.5 License, And Examples Are Licensed Under The BSD License. Privacy Edit This Page For Developers > How-Tos > Debugging Chromium On Windows First See Get The Code For Checkout And Build Instructions. Getting Started You Can Use Visual Studio's Built-in Debugger Or WinDBG To Debug Chromium. You Don't Need To Use The IDE To Build In Order To Use The Debugger: Autoninja Is Used To Build Chromium And Most Developers Invoke It From A Command Prompt, And Then Open The IDE For Debugging As Necessary. To Start Debugging An Already-built Executable With Visual Studio Just Launch Visual Studio (2019 Or Higher) And Select File-> Open-> Project/Solution (Ctrl+Shift+O) And Select The Executable Of Interest. This Will Create A Solution With That Executable As The 'project'. You Can Then Launch The Debugger With F5 Or F11 Or From The Debug Menu. If You Right-click On The Executable In Solution Explorer And Select Properties Then You Can Edit Things Such As The Executable Path, Command-line Arguments, And Working Directory. You Can Add Additional Executables To The Solution By Using File-> Add-> Existing Project And Selecting Another Already-built Executable. You Can Select Which One To Debug By Right-clicking On One Of Them In Solution Explorer And Selecting Set As Startup Project. When Your Solution File Is Customized To Your Taste You Can Save It To A Directory Such As Out\solutions. Saving It There Helps Ensure That Relative Paths To Source Files, Printed From Build Commands, Will Correctly Identify The Source Files. The Tools Menu Can Be Used To Add Commands To Do Things Like Invoke Autoninja To Build Chrome, Compile The Selected Source File, Or Other Things. Visual Studio 2017 Is Not Recommended For Debugging Of Chromium - Use A Newer Version For Best Performance And Stability. Symbol_level=2 Is The Default On Windows And Gives Full Debugging Information With Types, Locals, Globals, Function Names, And Source/line Information. Symbol_level=1 Creates Smaller PDBs With Just Function Names, And Source/line Information - Source-level Debugging Is Still Supported (new From June 2019), But Local Variables And Type Information Are Missing. Symbol_level=0 Gives Extremely Limited Debugging Abilities, Mostly Just Viewing Call Stacks When Chromium Crashes. Browsing Source Code If You Use A Solution File Generated By Gn (gn Gen --ide=vs) Then Intellisense May Help You Navigate The Code. If This Doesn't Work Or If You Use A Solution Created As Above Then You May Want To Install VsChromium To Help Navigate The Code, As Well As Using Https://source.chromium.org. Profiles It's A Good Idea To Use A Different Chrome Profile For Your Debugging. If You Are Debugging Google Chrome Branded Builds, Or Use A Chromium Build As Your Primary Browser, The Profiles Can Collide So You Can't Run Both At Once, And Your Stable Browser Might See Profile Versions From The Future (Google Chrome And Chromium Use Different Profile Directories By Default So Won't Collide). Use The Command-line Option: --user-data-dir=C:\tmp\my_debug_profile (replace The Path As Necessary) Using The IDE, Go To The Debugging Tab Of The Properties Of The Chrome Project, And Set The Command Arguments. Chrome Debug Log Enable Chrome Debug Logging To A File By Passing --enable-logging --v=1 Command-line Flags At Startup. Debug Builds Place The Chrome_debug.log File In The Out\Debug Directory. Release Builds Place The File In The Top Level Of The User Data Chromium App Directory, Which Is OS-version-dependent. For More Information, See Logging And User Data Directory Details. Symbol Server If You Are Debugging Official Google Chrome Release Builds, Use The Symbol Server: Https://chromium-browser-symsrv.commondatastorage.googleapis.com In Visual Studio, This Goes In Tools > Options Under Debugging > Symbols. You Should Set Up A Local Cache In A Empty Directory On Your Computer. In Windbg You Can Add This To Your Symbol Server Search Path With The Command Below, Where C:\symbols Is A Local Cache Directory: .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Alternately, You Can Set The _NT_SYMBOL_PATH Environment Variable To Include Both The Microsoft And Google Symbol Servers - VS, Windbg, And Other Tools Should Both Respect This Environment Variable: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Note That Symbol Servers Will Let The Debuggers Download Both The PE Files (DLLs And EXEs) And The PDB Files. Chrome Often Loads Third Party Libraries And Partial Symbols For Some Of These Are Also Public. For Example: AMD: Https://download.amd.com/dir/bin Nvidia: Https://driver-symbols.nvidia.com/ Intel: Https://software.intel.com/sites/downloads/symbols/ For Example, For Completeness, The Following Symbol Server Environment Variable Will Resolve All Of The Above Sources - But This Is More Than Is Normally Needed: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://download.amd.com/dir/bin;SRV\*C:\symbols\*https://driver-symbols.nvidia.com/;SRV\*C:\symbols\*https://software.intel.com/sites/downloads/symbols/ Source Indexing You Should Set Up Source Indexing In Your Debugger (.srcfix In Windbg, Tools-> Options-> Debugging-> General-> Enable Source Server Support In Visual Studio) So That The Correct Source Files Will Automatically Be Downloaded Based On Information In The Downloaded Symbols. Additionally, You Must Have Python In Your Path In Order For The Command That Fetches Source Files To Succeed; Launching The Debugger From The Same Environment As Where You Build Chromium Is An Easy Way To Ensure It's Present. This Is Highly Recommended When Debugging Released Google Chrome Builds Or Looking At Crash Dumps. Having The Correct Version Of The Source Files Automatically Show Up Saves Significant Time So You Should Definitely Set This. Multi-process Issues Chromium Can Be Challenging To Debug Because Of Its Multi-process Architecture. When You Select Run In The Debugger, Only The Main Browser Process Will Be Debugged. The Code That Actually Renders Web Pages (the Renderer) And The Plugins Will Be In Separate Processes That's Not (yet!) Being Debugged. The ProcessExplorer Tool Has A Process Tree View Where You Can See How These Processes Are Related. You Can Also Get The Process IDs Associated With Each Tab From The Chrome Task Manager (right-click On An Empty Area Of The Window Title Bar To Open). Automatically Attach To Child Processes There Are Two Visual Studio Extensions That Enable The Debugger To Automatically Attach To All Chrome Processes, So You Can Debug All Of Chrome At Once. Microsoft's Child Process Debugging Power Tool Is A Standalone Extension For This, And VsChromium Is Another Option That Bundles Many Other Additional Features. In Addition To Installing One Of These Extensions, You Must Run Visual Studio As Administrator, Or It Will Silently Fail To Attach To Some Of Chrome's Child Processes. Single-process Mode One Way To Debug Issues Is To Run Chromium In Single-process Mode. This Will Allow You To See The Entire State Of The Program Without Extra Work (although It Will Still Have Many Threads). To Use Single-process Mode, Add The Command-line Flag --single-process This Approach Isn't Perfect Because Some Problems Won't Manifest Themselves In This Mode And Some Features Don't Work And Worker Threads Are Still Spawned Into New Processes. Manually Attaching To A Child Process You Can Attach To The Running Child Processes With The Debugger. Select Tools > Attach To Process And Click The Chrome.exe Process You Want To Attach To. Before Attaching, Make Sure You Have Selected Only Native Code When Attaching To The Process This Is Done By Clicking Select... In The Attach To Process Window And Only Checking Native. If You Forget This, It May Attempt To Attach In "WebKit" Mode To Debug JavaScript, And You'll Get An Error Message "An Operation Is Not Legal In The Current State." You Can Now Debug The Two Processes As If They Were One. When You Are Debugging Multiple Processes, Open The Debug > Windows > Processes Window To Switch Between Them. Sometimes You Are Debugging Something That Only Happens On Startup, And Want To See The Child Process As Soon As It Starts. Use: --renderer-startup-dialog --no-sandbox You Have To Disable The Sandbox Or The Dialog Box Will Be Prohibited From Showing. When The Dialog Appears, Visit Tools > Attach To Process And Attach To The Process Showing The Renderer Startup Dialog. Now You're Debugging In The Renderer And Can Continue Execution By Pressing OK In The Dialog. Startup Dialogs Also Exist For Other Child Process Types: --gpu-startup-dialog, --ppapi-startup-dialog, --utility-startup-dialog, --plugin-startup-dialog (for NPAPI). For Utilities, You Can Add A Service Type --utility-startup-dialog=data_decoder.mojom.DataDecoderService. You Can Also Try The Vs-chromium Plug-in To Attach To The Right Processes. Semi-automatically Attaching The Debugger To Child Processes The Following Flags Cause Child Processes To Wait For 60 Seconds In A Busy Loop For A Debugger To Attach To The Process. Once Either Condition Is True, It Continues On; No Exception Is Thrown. --wait-for-debugger-children[=filter] The Filter, If Provided, Will Fire Only If It Matches The --type Parameter To The Process. Values Include Renderer, Plugin (for NPAPI), Ppapi, Gpu-process, And Utility. When Using This Option, It May Be Helpful To Limit The Number Of Renderer Processes Spawned, Using: --renderer-process-limit=1 Image File Execution Options Using Image File Execution Options (IFEO) Will Not Work Because CreateProcess() Returns The Handle To The Debugger Process Instead Of The Intended Child Process. There Are Also Issues With The Sandbox. Time Travel Debugging You Can Do Time Travel Debugging Using WinDbg Preview (must Be Installed From The Microsoft Store). This Lets You Execute A Program Forward And Backwards. After Capturing A Trace, You Can Set Breakpoints And Step Through Code As Normal, But Also Provides 'backwards' Commands (g-, T-, P-) So That You Can Go Back And Forth Through The Execution. It Is Especially Useful To Set Data Breakpoints (ba Command) And Reverse Continuing, So You Can See When A Certain Variable Was Last Changed To Its Current Value. Chromium Specifics: The Type Of Injection The Time Travel Tracer Needs To Perform Is Incompatible With The Chromium Sandbox. In Order To Record A Trace, You'll Need To Run With --no-sandbox. Chromium Cannot Run Elevated With Administrator Privileges, So The "Launch Executable (advance)" Option Won't Work, You'll Need To Attach After The Process Has Already Launched Via The Checkbox In The Bottom Right. If You Need To Record Startup-like Things, You'll Have To Use --{browser,gpu,renderer,utility}-startup-dialog, Then Attach (and Hope The Relevant Code Hasn't Executed Before That Point). JsDbg -- Data Structure Visualization You Can Install JsDbg As A Plugin For WinDbg Or Visual Studio. It Interactively Lets You Look At Data Structures (such As The DOM Tree, Accessibility Tree, Layout Object Tree, And Others) In A Web Browser As You Debug. See The JsDbg Site For Some Screen Shots And Usage Examples. This Also Works When Examining Memory Dumps (though Not Minidumps), And Also Works Together With Time Travel Debugging. Visual Studio Hints Debug Visualizers Chrome's Custom Debug Visualizers Should Be Added To The Pdb Files And Automatically Picked Up By Visual Studio. The Definitions Are In //tools/win/DebugVisualizers If You Need To Modify Them (the BUILD.gn File There Has Additional Instructions). Don't Step Into Trivial Functions The Debugger Can Be Configured To Automatically Not Step Into Functions Based On Regular Expression. Edit Default.natstepfilter In The Following Directory: For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for The Current User Only) For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for The Current User Only) Add Regular Expressions Of Functions To Not Step Into. Remember To Regex-escape And XML-escape Them, E.g. < For < And \. For A Literal Dot. Example: Operator New NoStepInto Operator Delete NoStepInto Std::.* NoStepInto WTF::.*Ptr ::.* NoStepInto This File Is Read At Start Of A Debugging Session (F5), So You Don't Need To Restart Visual Studio After Changing It. More Info: Microsoft Email Thread V8 And Chromium V8 Supports Many Command-line Flags That Are Useful For Debugging. V8 Command-line Flags Can Be Set Via The Chromium Command-line Flag --js-flags; For Instance: Chrome.exe --js-flags="--trace_exception --heap_stats" Note That Some V8 Command-line Flags Exist Only In The Debug Build Of V8. For A List Of All V8 Flags Try: Chrome.exe --js-flags="--help" Graphics Debugging GPU Acceleration Of Rendering Can Be More Easily Debugged With Tools. See: Graphics Debugging In Visual Studio 2013 Graphical Debugging With NVIDIA NSight Debugging On Another Machine Sometimes It's Useful To Debug Installation And Execution On A Machine Other Than Your Primary Build Box. To Run The Installer On Said Other Machine, First Build The Mini_installer Target On Your Main Build Machine (e.g., Autoninja -C Out\Debug Mini_installer). Next, On The Debug Machine: Make The Build Machine's Build Volume Available On The Debug Machine Either By Mounting It Locally (e.g., Z:\) Or By Crafting A UNC Path To It (e.g., \\builder\src) Open Up A Command Prompt And Change To A Local Disk Run Src\tools\win\copy-installer.bat In The Remote Checkout By Way Of The Mount (e.g., Z:\PATHTOCHECKOUT\src\...) Or UNC Path (e.g., \\builder\src\...). This Will Copy The Installer, DLLs, And PDBs Into Your Debug Machine's C:\out Or C:\build (depending On If You're Rocking The Component=shared_library Build Or Not) Run C:\out\Debug\mini_installer.exe With The Flags Of Your Choice To Install Chrome. This Can Take Some Time, Especially On A Slow Machine. Watch The Task Manager And Wait Until Mini_installer.exe Exits Before Trying To Launch Chrome (by Way Of The Shortcut(s) Created By The Installer) For Extra Pleasure, Add C:\out\Debug To Your _NT_SYMBOL_PATH Environment Variable Consider Reading The Documentation At The Top Of Copy-installer.bat To See How You Can Run It. It Tries To Be Smart And Copy The Right Things, But You May Need To Be Explicit (e.g., "copy-installer.bat Out Debug"). It Is Safe To Re-run The Script To Copy Only Modified Files (after A Rebuild, For Example). You Can Also Use The Zip Action Of The Isolate Scripts (tools\mb\mb.py) To Package All The Files For A Target Into A Single Zip File, For Example: Python Tools\mb\mb.py Zip Out/Release Base_unittests Base_unittests.zip Finding All Memory Allocations It Is Possible To Use Heap Snapshots To Get Call Stacks On All Outstanding Allocations That Use The OS Heap. This Works Particularly Well If Heap Snapshots Are Started As Soon As The Chrome Browser Process Is Created, But Before It Starts Running. Details Can Be Found In This Batch File. However, With PartitionAlloc Everywhere Most Chromium Allocations No Longer Use The Windows Heap So This Will Only Find A Subset Of Allocations, Mostly From OS DLLs. Find Memory Leaks Note: As With Heap Snapshots The Utility Of UMDH Is Greatly Reduced Now Because PartitionAlloc Everywhere Has Mostly Replaced The Windows Heap. The Windows Heap Manager Has A Really Useful Debug Flag, Where It Can Be Asked To Capture And Store A Stack Trace With Every Allocation. The Tool To Scrape These Stack Traces Out Of Processes Is UMDH, Which Comes With WinDbg. UMDH Is Great. It Will Capture A Snapshot Of The Heap State As Many Times As You Like, And It'll Do It Fairly Quickly. You Then Run It Again Against Either A Single Snapshot, Or A Pair Of Snapshots, At Which Time It'll Symbolize The Stack Traces And Aggregate Usage Up To Unique Stack Traces. Turning On The User Stack Trace Database For Chrome.exe With Gflags.exe Makes It Run Unbearably Slowly; However, Turning On The User Stack Trace Database On For The Browser Alone Is Just Fine. While It's Possible To Turn On The User Stack Database With The "!gflag" Debugging Extension, It's Too Late To Do This By The Time The Initial Debugger Breakpoint Hits. The Only Reasonable Way To Do This Is To Launch GFlags.exe, Enable The User Stack Trace Database (per Image Below), Launch Chrome Under The Debugger. Set A Breakpont When Chrome.dll Loads With "sxe Ld Chrome.dll". Step Up, To Allow Chrome.dll To Initialize. Disable The Stack Trace Database In GFlags.exe. Continue Chrome, Optionally Detaching The Debugger. Image GFlags.exe Settings For User Mode Stack Trace Database. If You Then Ever Suffer A Browser Memory Leak, You Can Snarf A Dump Of The Process With Umdh -p: > Chrome-browser-leak-umdh-dump.txt Which Can Then Typically Be "trivially" Analyzed To Find The Culprit. Miscellaneous Note That By Default Application Verifier Only Works With Non-official Builds Of Chromium. To Use Application Verifier On Official Builds You Need To Add --disable-features=RendererCodeIntegrity To Avoid Sandbox Crashes In Renderer Processes. See Crbug.com/1004989 For Details. See Also This Page. Application Verifier Is A Free Tool From Microsoft (available As Part Of The Windows SDK) That Can Be Used To Flush Out Programming Errors. Starting With M68 Application Verifier Can Be Enabled For Chrome.exe Without Needing To Disable The Sandbox. After Adding Chrome.exe To The List Of Applications To Be Stressed You Need To Expand The List Of Basics Checks And Disable The Leak Checks. You May Also Need To Disable Handles And Locks Checks Depending On Your Graphics Driver And Specific Chrome Version, But The Eventual Goal Is To Have Chrome Run With Handles And Locks Checks Enabled. When Bugs Are Found Chrome Will Trigger A Breakpoint So Running All Chrome Processes Under A Debugger Is Recommended. Chrome Will Run Much More Slowly Because Application Verifier Puts Every Heap Allocation On A Separate Page. Note That With PartitionAlloc Everywhere Most Chromium Allocations Don't Actually Go Through The Windows Heap And Are Therefore Unaffected By Application Verifier. You Can Check The Undocumented 'Cuzz' Checkbox In Application Verifier To Get The Windows Thread Scheduler To Add Some Extra Randomness In Order To Help Expose Race Conditions In Your Code. To Put A Breakpoint On CreateFile(), Add This Break Point: {,,kernel32.dll}_CreateFileW@28 {,,kernel32.dll} Specifies The DLL (context Operator). _ Prefix Means Extern "C". @28 Postfix Means _stdcall With The Stack Pop At The End Of The Function. I.e. The Number Of Arguments In BYTES. You Can Use DebugView From SysInternals Or Sawbuck To View LOG() Messages That Normally Go To Stderr On POSIX.” Metadata:
- Title: ➤ The Chromium Logo The Chromium Projects Home Chromium ChromiumOS Quick Links Report Bugs Discuss Other Sites Chromium Blog Google Chrome Extensions Except As Otherwise Noted, The Content Of This Page Is Licensed Under A Creative Commons Attribution 2.5 License, And Examples Are Licensed Under The BSD License. Privacy Edit This Page For Developers > How-Tos > Debugging Chromium On Windows First See Get The Code For Checkout And Build Instructions. Getting Started You Can Use Visual Studio's Built-in Debugger Or WinDBG To Debug Chromium. You Don't Need To Use The IDE To Build In Order To Use The Debugger: Autoninja Is Used To Build Chromium And Most Developers Invoke It From A Command Prompt, And Then Open The IDE For Debugging As Necessary. To Start Debugging An Already-built Executable With Visual Studio Just Launch Visual Studio (2019 Or Higher) And Select File-> Open-> Project/Solution (Ctrl+Shift+O) And Select The Executable Of Interest. This Will Create A Solution With That Executable As The 'project'. You Can Then Launch The Debugger With F5 Or F11 Or From The Debug Menu. If You Right-click On The Executable In Solution Explorer And Select Properties Then You Can Edit Things Such As The Executable Path, Command-line Arguments, And Working Directory. You Can Add Additional Executables To The Solution By Using File-> Add-> Existing Project And Selecting Another Already-built Executable. You Can Select Which One To Debug By Right-clicking On One Of Them In Solution Explorer And Selecting Set As Startup Project. When Your Solution File Is Customized To Your Taste You Can Save It To A Directory Such As Out\solutions. Saving It There Helps Ensure That Relative Paths To Source Files, Printed From Build Commands, Will Correctly Identify The Source Files. The Tools Menu Can Be Used To Add Commands To Do Things Like Invoke Autoninja To Build Chrome, Compile The Selected Source File, Or Other Things. Visual Studio 2017 Is Not Recommended For Debugging Of Chromium - Use A Newer Version For Best Performance And Stability. Symbol_level=2 Is The Default On Windows And Gives Full Debugging Information With Types, Locals, Globals, Function Names, And Source/line Information. Symbol_level=1 Creates Smaller PDBs With Just Function Names, And Source/line Information - Source-level Debugging Is Still Supported (new From June 2019), But Local Variables And Type Information Are Missing. Symbol_level=0 Gives Extremely Limited Debugging Abilities, Mostly Just Viewing Call Stacks When Chromium Crashes. Browsing Source Code If You Use A Solution File Generated By Gn (gn Gen --ide=vs) Then Intellisense May Help You Navigate The Code. If This Doesn't Work Or If You Use A Solution Created As Above Then You May Want To Install VsChromium To Help Navigate The Code, As Well As Using Https://source.chromium.org. Profiles It's A Good Idea To Use A Different Chrome Profile For Your Debugging. If You Are Debugging Google Chrome Branded Builds, Or Use A Chromium Build As Your Primary Browser, The Profiles Can Collide So You Can't Run Both At Once, And Your Stable Browser Might See Profile Versions From The Future (Google Chrome And Chromium Use Different Profile Directories By Default So Won't Collide). Use The Command-line Option: --user-data-dir=C:\tmp\my_debug_profile (replace The Path As Necessary) Using The IDE, Go To The Debugging Tab Of The Properties Of The Chrome Project, And Set The Command Arguments. Chrome Debug Log Enable Chrome Debug Logging To A File By Passing --enable-logging --v=1 Command-line Flags At Startup. Debug Builds Place The Chrome_debug.log File In The Out\Debug Directory. Release Builds Place The File In The Top Level Of The User Data Chromium App Directory, Which Is OS-version-dependent. For More Information, See Logging And User Data Directory Details. Symbol Server If You Are Debugging Official Google Chrome Release Builds, Use The Symbol Server: Https://chromium-browser-symsrv.commondatastorage.googleapis.com In Visual Studio, This Goes In Tools > Options Under Debugging > Symbols. You Should Set Up A Local Cache In A Empty Directory On Your Computer. In Windbg You Can Add This To Your Symbol Server Search Path With The Command Below, Where C:\symbols Is A Local Cache Directory: .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Alternately, You Can Set The _NT_SYMBOL_PATH Environment Variable To Include Both The Microsoft And Google Symbol Servers - VS, Windbg, And Other Tools Should Both Respect This Environment Variable: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Note That Symbol Servers Will Let The Debuggers Download Both The PE Files (DLLs And EXEs) And The PDB Files. Chrome Often Loads Third Party Libraries And Partial Symbols For Some Of These Are Also Public. For Example: AMD: Https://download.amd.com/dir/bin Nvidia: Https://driver-symbols.nvidia.com/ Intel: Https://software.intel.com/sites/downloads/symbols/ For Example, For Completeness, The Following Symbol Server Environment Variable Will Resolve All Of The Above Sources - But This Is More Than Is Normally Needed: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://download.amd.com/dir/bin;SRV\*C:\symbols\*https://driver-symbols.nvidia.com/;SRV\*C:\symbols\*https://software.intel.com/sites/downloads/symbols/ Source Indexing You Should Set Up Source Indexing In Your Debugger (.srcfix In Windbg, Tools-> Options-> Debugging-> General-> Enable Source Server Support In Visual Studio) So That The Correct Source Files Will Automatically Be Downloaded Based On Information In The Downloaded Symbols. Additionally, You Must Have Python In Your Path In Order For The Command That Fetches Source Files To Succeed; Launching The Debugger From The Same Environment As Where You Build Chromium Is An Easy Way To Ensure It's Present. This Is Highly Recommended When Debugging Released Google Chrome Builds Or Looking At Crash Dumps. Having The Correct Version Of The Source Files Automatically Show Up Saves Significant Time So You Should Definitely Set This. Multi-process Issues Chromium Can Be Challenging To Debug Because Of Its Multi-process Architecture. When You Select Run In The Debugger, Only The Main Browser Process Will Be Debugged. The Code That Actually Renders Web Pages (the Renderer) And The Plugins Will Be In Separate Processes That's Not (yet!) Being Debugged. The ProcessExplorer Tool Has A Process Tree View Where You Can See How These Processes Are Related. You Can Also Get The Process IDs Associated With Each Tab From The Chrome Task Manager (right-click On An Empty Area Of The Window Title Bar To Open). Automatically Attach To Child Processes There Are Two Visual Studio Extensions That Enable The Debugger To Automatically Attach To All Chrome Processes, So You Can Debug All Of Chrome At Once. Microsoft's Child Process Debugging Power Tool Is A Standalone Extension For This, And VsChromium Is Another Option That Bundles Many Other Additional Features. In Addition To Installing One Of These Extensions, You Must Run Visual Studio As Administrator, Or It Will Silently Fail To Attach To Some Of Chrome's Child Processes. Single-process Mode One Way To Debug Issues Is To Run Chromium In Single-process Mode. This Will Allow You To See The Entire State Of The Program Without Extra Work (although It Will Still Have Many Threads). To Use Single-process Mode, Add The Command-line Flag --single-process This Approach Isn't Perfect Because Some Problems Won't Manifest Themselves In This Mode And Some Features Don't Work And Worker Threads Are Still Spawned Into New Processes. Manually Attaching To A Child Process You Can Attach To The Running Child Processes With The Debugger. Select Tools > Attach To Process And Click The Chrome.exe Process You Want To Attach To. Before Attaching, Make Sure You Have Selected Only Native Code When Attaching To The Process This Is Done By Clicking Select... In The Attach To Process Window And Only Checking Native. If You Forget This, It May Attempt To Attach In "WebKit" Mode To Debug JavaScript, And You'll Get An Error Message "An Operation Is Not Legal In The Current State." You Can Now Debug The Two Processes As If They Were One. When You Are Debugging Multiple Processes, Open The Debug > Windows > Processes Window To Switch Between Them. Sometimes You Are Debugging Something That Only Happens On Startup, And Want To See The Child Process As Soon As It Starts. Use: --renderer-startup-dialog --no-sandbox You Have To Disable The Sandbox Or The Dialog Box Will Be Prohibited From Showing. When The Dialog Appears, Visit Tools > Attach To Process And Attach To The Process Showing The Renderer Startup Dialog. Now You're Debugging In The Renderer And Can Continue Execution By Pressing OK In The Dialog. Startup Dialogs Also Exist For Other Child Process Types: --gpu-startup-dialog, --ppapi-startup-dialog, --utility-startup-dialog, --plugin-startup-dialog (for NPAPI). For Utilities, You Can Add A Service Type --utility-startup-dialog=data_decoder.mojom.DataDecoderService. You Can Also Try The Vs-chromium Plug-in To Attach To The Right Processes. Semi-automatically Attaching The Debugger To Child Processes The Following Flags Cause Child Processes To Wait For 60 Seconds In A Busy Loop For A Debugger To Attach To The Process. Once Either Condition Is True, It Continues On; No Exception Is Thrown. --wait-for-debugger-children[=filter] The Filter, If Provided, Will Fire Only If It Matches The --type Parameter To The Process. Values Include Renderer, Plugin (for NPAPI), Ppapi, Gpu-process, And Utility. When Using This Option, It May Be Helpful To Limit The Number Of Renderer Processes Spawned, Using: --renderer-process-limit=1 Image File Execution Options Using Image File Execution Options (IFEO) Will Not Work Because CreateProcess() Returns The Handle To The Debugger Process Instead Of The Intended Child Process. There Are Also Issues With The Sandbox. Time Travel Debugging You Can Do Time Travel Debugging Using WinDbg Preview (must Be Installed From The Microsoft Store). This Lets You Execute A Program Forward And Backwards. After Capturing A Trace, You Can Set Breakpoints And Step Through Code As Normal, But Also Provides 'backwards' Commands (g-, T-, P-) So That You Can Go Back And Forth Through The Execution. It Is Especially Useful To Set Data Breakpoints (ba Command) And Reverse Continuing, So You Can See When A Certain Variable Was Last Changed To Its Current Value. Chromium Specifics: The Type Of Injection The Time Travel Tracer Needs To Perform Is Incompatible With The Chromium Sandbox. In Order To Record A Trace, You'll Need To Run With --no-sandbox. Chromium Cannot Run Elevated With Administrator Privileges, So The "Launch Executable (advance)" Option Won't Work, You'll Need To Attach After The Process Has Already Launched Via The Checkbox In The Bottom Right. If You Need To Record Startup-like Things, You'll Have To Use --{browser,gpu,renderer,utility}-startup-dialog, Then Attach (and Hope The Relevant Code Hasn't Executed Before That Point). JsDbg -- Data Structure Visualization You Can Install JsDbg As A Plugin For WinDbg Or Visual Studio. It Interactively Lets You Look At Data Structures (such As The DOM Tree, Accessibility Tree, Layout Object Tree, And Others) In A Web Browser As You Debug. See The JsDbg Site For Some Screen Shots And Usage Examples. This Also Works When Examining Memory Dumps (though Not Minidumps), And Also Works Together With Time Travel Debugging. Visual Studio Hints Debug Visualizers Chrome's Custom Debug Visualizers Should Be Added To The Pdb Files And Automatically Picked Up By Visual Studio. The Definitions Are In //tools/win/DebugVisualizers If You Need To Modify Them (the BUILD.gn File There Has Additional Instructions). Don't Step Into Trivial Functions The Debugger Can Be Configured To Automatically Not Step Into Functions Based On Regular Expression. Edit Default.natstepfilter In The Following Directory: For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for The Current User Only) For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for The Current User Only) Add Regular Expressions Of Functions To Not Step Into. Remember To Regex-escape And XML-escape Them, E.g. < For < And \. For A Literal Dot. Example: Operator New NoStepInto Operator Delete NoStepInto Std::.* NoStepInto WTF::.*Ptr ::.* NoStepInto This File Is Read At Start Of A Debugging Session (F5), So You Don't Need To Restart Visual Studio After Changing It. More Info: Microsoft Email Thread V8 And Chromium V8 Supports Many Command-line Flags That Are Useful For Debugging. V8 Command-line Flags Can Be Set Via The Chromium Command-line Flag --js-flags; For Instance: Chrome.exe --js-flags="--trace_exception --heap_stats" Note That Some V8 Command-line Flags Exist Only In The Debug Build Of V8. For A List Of All V8 Flags Try: Chrome.exe --js-flags="--help" Graphics Debugging GPU Acceleration Of Rendering Can Be More Easily Debugged With Tools. See: Graphics Debugging In Visual Studio 2013 Graphical Debugging With NVIDIA NSight Debugging On Another Machine Sometimes It's Useful To Debug Installation And Execution On A Machine Other Than Your Primary Build Box. To Run The Installer On Said Other Machine, First Build The Mini_installer Target On Your Main Build Machine (e.g., Autoninja -C Out\Debug Mini_installer). Next, On The Debug Machine: Make The Build Machine's Build Volume Available On The Debug Machine Either By Mounting It Locally (e.g., Z:\) Or By Crafting A UNC Path To It (e.g., \\builder\src) Open Up A Command Prompt And Change To A Local Disk Run Src\tools\win\copy-installer.bat In The Remote Checkout By Way Of The Mount (e.g., Z:\PATHTOCHECKOUT\src\...) Or UNC Path (e.g., \\builder\src\...). This Will Copy The Installer, DLLs, And PDBs Into Your Debug Machine's C:\out Or C:\build (depending On If You're Rocking The Component=shared_library Build Or Not) Run C:\out\Debug\mini_installer.exe With The Flags Of Your Choice To Install Chrome. This Can Take Some Time, Especially On A Slow Machine. Watch The Task Manager And Wait Until Mini_installer.exe Exits Before Trying To Launch Chrome (by Way Of The Shortcut(s) Created By The Installer) For Extra Pleasure, Add C:\out\Debug To Your _NT_SYMBOL_PATH Environment Variable Consider Reading The Documentation At The Top Of Copy-installer.bat To See How You Can Run It. It Tries To Be Smart And Copy The Right Things, But You May Need To Be Explicit (e.g., "copy-installer.bat Out Debug"). It Is Safe To Re-run The Script To Copy Only Modified Files (after A Rebuild, For Example). You Can Also Use The Zip Action Of The Isolate Scripts (tools\mb\mb.py) To Package All The Files For A Target Into A Single Zip File, For Example: Python Tools\mb\mb.py Zip Out/Release Base_unittests Base_unittests.zip Finding All Memory Allocations It Is Possible To Use Heap Snapshots To Get Call Stacks On All Outstanding Allocations That Use The OS Heap. This Works Particularly Well If Heap Snapshots Are Started As Soon As The Chrome Browser Process Is Created, But Before It Starts Running. Details Can Be Found In This Batch File. However, With PartitionAlloc Everywhere Most Chromium Allocations No Longer Use The Windows Heap So This Will Only Find A Subset Of Allocations, Mostly From OS DLLs. Find Memory Leaks Note: As With Heap Snapshots The Utility Of UMDH Is Greatly Reduced Now Because PartitionAlloc Everywhere Has Mostly Replaced The Windows Heap. The Windows Heap Manager Has A Really Useful Debug Flag, Where It Can Be Asked To Capture And Store A Stack Trace With Every Allocation. The Tool To Scrape These Stack Traces Out Of Processes Is UMDH, Which Comes With WinDbg. UMDH Is Great. It Will Capture A Snapshot Of The Heap State As Many Times As You Like, And It'll Do It Fairly Quickly. You Then Run It Again Against Either A Single Snapshot, Or A Pair Of Snapshots, At Which Time It'll Symbolize The Stack Traces And Aggregate Usage Up To Unique Stack Traces. Turning On The User Stack Trace Database For Chrome.exe With Gflags.exe Makes It Run Unbearably Slowly; However, Turning On The User Stack Trace Database On For The Browser Alone Is Just Fine. While It's Possible To Turn On The User Stack Database With The "!gflag" Debugging Extension, It's Too Late To Do This By The Time The Initial Debugger Breakpoint Hits. The Only Reasonable Way To Do This Is To Launch GFlags.exe, Enable The User Stack Trace Database (per Image Below), Launch Chrome Under The Debugger. Set A Breakpont When Chrome.dll Loads With "sxe Ld Chrome.dll". Step Up, To Allow Chrome.dll To Initialize. Disable The Stack Trace Database In GFlags.exe. Continue Chrome, Optionally Detaching The Debugger. Image GFlags.exe Settings For User Mode Stack Trace Database. If You Then Ever Suffer A Browser Memory Leak, You Can Snarf A Dump Of The Process With Umdh -p: > Chrome-browser-leak-umdh-dump.txt Which Can Then Typically Be "trivially" Analyzed To Find The Culprit. Miscellaneous Note That By Default Application Verifier Only Works With Non-official Builds Of Chromium. To Use Application Verifier On Official Builds You Need To Add --disable-features=RendererCodeIntegrity To Avoid Sandbox Crashes In Renderer Processes. See Crbug.com/1004989 For Details. See Also This Page. Application Verifier Is A Free Tool From Microsoft (available As Part Of The Windows SDK) That Can Be Used To Flush Out Programming Errors. Starting With M68 Application Verifier Can Be Enabled For Chrome.exe Without Needing To Disable The Sandbox. After Adding Chrome.exe To The List Of Applications To Be Stressed You Need To Expand The List Of Basics Checks And Disable The Leak Checks. You May Also Need To Disable Handles And Locks Checks Depending On Your Graphics Driver And Specific Chrome Version, But The Eventual Goal Is To Have Chrome Run With Handles And Locks Checks Enabled. When Bugs Are Found Chrome Will Trigger A Breakpoint So Running All Chrome Processes Under A Debugger Is Recommended. Chrome Will Run Much More Slowly Because Application Verifier Puts Every Heap Allocation On A Separate Page. Note That With PartitionAlloc Everywhere Most Chromium Allocations Don't Actually Go Through The Windows Heap And Are Therefore Unaffected By Application Verifier. You Can Check The Undocumented 'Cuzz' Checkbox In Application Verifier To Get The Windows Thread Scheduler To Add Some Extra Randomness In Order To Help Expose Race Conditions In Your Code. To Put A Breakpoint On CreateFile(), Add This Break Point: {,,kernel32.dll}_CreateFileW@28 {,,kernel32.dll} Specifies The DLL (context Operator). _ Prefix Means Extern "C". @28 Postfix Means _stdcall With The Stack Pop At The End Of The Function. I.e. The Number Of Arguments In BYTES. You Can Use DebugView From SysInternals Or Sawbuck To View LOG() Messages That Normally Go To Stderr On POSIX.
“The Chromium Logo The Chromium Projects Home Chromium ChromiumOS Quick Links Report Bugs Discuss Other Sites Chromium Blog Google Chrome Extensions Except As Otherwise Noted, The Content Of This Page Is Licensed Under A Creative Commons Attribution 2.5 License, And Examples Are Licensed Under The BSD License. Privacy Edit This Page For Developers > How-Tos > Debugging Chromium On Windows First See Get The Code For Checkout And Build Instructions. Getting Started You Can Use Visual Studio's Built-in Debugger Or WinDBG To Debug Chromium. You Don't Need To Use The IDE To Build In Order To Use The Debugger: Autoninja Is Used To Build Chromium And Most Developers Invoke It From A Command Prompt, And Then Open The IDE For Debugging As Necessary. To Start Debugging An Already-built Executable With Visual Studio Just Launch Visual Studio (2019 Or Higher) And Select File-> Open-> Project/Solution (Ctrl+Shift+O) And Select The Executable Of Interest. This Will Create A Solution With That Executable As The 'project'. You Can Then Launch The Debugger With F5 Or F11 Or From The Debug Menu. If You Right-click On The Executable In Solution Explorer And Select Properties Then You Can Edit Things Such As The Executable Path, Command-line Arguments, And Working Directory. You Can Add Additional Executables To The Solution By Using File-> Add-> Existing Project And Selecting Another Already-built Executable. You Can Select Which One To Debug By Right-clicking On One Of Them In Solution Explorer And Selecting Set As Startup Project. When Your Solution File Is Customized To Your Taste You Can Save It To A Directory Such As Out\solutions. Saving It There Helps Ensure That Relative Paths To Source Files, Printed From Build Commands, Will Correctly Identify The Source Files. The Tools Menu Can Be Used To Add Commands To Do Things Like Invoke Autoninja To Build Chrome, Compile The Selected Source File, Or Other Things. Visual Studio 2017 Is Not Recommended For Debugging Of Chromium - Use A Newer Version For Best Performance And Stability. Symbol_level=2 Is The Default On Windows And Gives Full Debugging Information With Types, Locals, Globals, Function Names, And Source/line Information. Symbol_level=1 Creates Smaller PDBs With Just Function Names, And Source/line Information - Source-level Debugging Is Still Supported (new From June 2019), But Local Variables And Type Information Are Missing. Symbol_level=0 Gives Extremely Limited Debugging Abilities, Mostly Just Viewing Call Stacks When Chromium Crashes. Browsing Source Code If You Use A Solution File Generated By Gn (gn Gen --ide=vs) Then Intellisense May Help You Navigate The Code. If This Doesn't Work Or If You Use A Solution Created As Above Then You May Want To Install VsChromium To Help Navigate The Code, As Well As Using Https://source.chromium.org. Profiles It's A Good Idea To Use A Different Chrome Profile For Your Debugging. If You Are Debugging Google Chrome Branded Builds, Or Use A Chromium Build As Your Primary Browser, The Profiles Can Collide So You Can't Run Both At Once, And Your Stable Browser Might See Profile Versions From The Future (Google Chrome And Chromium Use Different Profile Directories By Default So Won't Collide). Use The Command-line Option: --user-data-dir=C:\tmp\my_debug_profile (replace The Path As Necessary) Using The IDE, Go To The Debugging Tab Of The Properties Of The Chrome Project, And Set The Command Arguments. Chrome Debug Log Enable Chrome Debug Logging To A File By Passing --enable-logging --v=1 Command-line Flags At Startup. Debug Builds Place The Chrome_debug.log File In The Out\Debug Directory. Release Builds Place The File In The Top Level Of The User Data Chromium App Directory, Which Is OS-version-dependent. For More Information, See Logging And User Data Directory Details. Symbol Server If You Are Debugging Official Google Chrome Release Builds, Use The Symbol Server: Https://chromium-browser-symsrv.commondatastorage.googleapis.com In Visual Studio, This Goes In Tools > Options Under Debugging > Symbols. You Should Set Up A Local Cache In A Empty Directory On Your Computer. In Windbg You Can Add This To Your Symbol Server Search Path With The Command Below, Where C:\symbols Is A Local Cache Directory: .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Alternately, You Can Set The _NT_SYMBOL_PATH Environment Variable To Include Both The Microsoft And Google Symbol Servers - VS, Windbg, And Other Tools Should Both Respect This Environment Variable: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Note That Symbol Servers Will Let The Debuggers Download Both The PE Files (DLLs And EXEs) And The PDB Files. Chrome Often Loads Third Party Libraries And Partial Symbols For Some Of These Are Also Public. For Example: AMD: Https://download.amd.com/dir/bin Nvidia: Https://driver-symbols.nvidia.com/ Intel: Https://software.intel.com/sites/downloads/symbols/ For Example, For Completeness, The Following Symbol Server Environment Variable Will Resolve All Of The Above Sources - But This Is More Than Is Normally Needed: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://download.amd.com/dir/bin;SRV\*C:\symbols\*https://driver-symbols.nvidia.com/;SRV\*C:\symbols\*https://software.intel.com/sites/downloads/symbols/ Source Indexing You Should Set Up Source Indexing In Your Debugger (.srcfix In Windbg, Tools-> Options-> Debugging-> General-> Enable Source Server Support In Visual Studio) So That The Correct Source Files Will Automatically Be Downloaded Based On Information In The Downloaded Symbols. Additionally, You Must Have Python In Your Path In Order For The Command That Fetches Source Files To Succeed; Launching The Debugger From The Same Environment As Where You Build Chromium Is An Easy Way To Ensure It's Present. This Is Highly Recommended When Debugging Released Google Chrome Builds Or Looking At Crash Dumps. Having The Correct Version Of The Source Files Automatically Show Up Saves Significant Time So You Should Definitely Set This. Multi-process Issues Chromium Can Be Challenging To Debug Because Of Its Multi-process Architecture. When You Select Run In The Debugger, Only The Main Browser Process Will Be Debugged. The Code That Actually Renders Web Pages (the Renderer) And The Plugins Will Be In Separate Processes That's Not (yet!) Being Debugged. The ProcessExplorer Tool Has A Process Tree View Where You Can See How These Processes Are Related. You Can Also Get The Process IDs Associated With Each Tab From The Chrome Task Manager (right-click On An Empty Area Of The Window Title Bar To Open). Automatically Attach To Child Processes There Are Two Visual Studio Extensions That Enable The Debugger To Automatically Attach To All Chrome Processes, So You Can Debug All Of Chrome At Once. Microsoft's Child Process Debugging Power Tool Is A Standalone Extension For This, And VsChromium Is Another Option That Bundles Many Other Additional Features. In Addition To Installing One Of These Extensions, You Must Run Visual Studio As Administrator, Or It Will Silently Fail To Attach To Some Of Chrome's Child Processes. Single-process Mode One Way To Debug Issues Is To Run Chromium In Single-process Mode. This Will Allow You To See The Entire State Of The Program Without Extra Work (although It Will Still Have Many Threads). To Use Single-process Mode, Add The Command-line Flag --single-process This Approach Isn't Perfect Because Some Problems Won't Manifest Themselves In This Mode And Some Features Don't Work And Worker Threads Are Still Spawned Into New Processes. Manually Attaching To A Child Process You Can Attach To The Running Child Processes With The Debugger. Select Tools > Attach To Process And Click The Chrome.exe Process You Want To Attach To. Before Attaching, Make Sure You Have Selected Only Native Code When Attaching To The Process This Is Done By Clicking Select... In The Attach To Process Window And Only Checking Native. If You Forget This, It May Attempt To Attach In "WebKit" Mode To Debug JavaScript, And You'll Get An Error Message "An Operation Is Not Legal In The Current State." You Can Now Debug The Two Processes As If They Were One. When You Are Debugging Multiple Processes, Open The Debug > Windows > Processes Window To Switch Between Them. Sometimes You Are Debugging Something That Only Happens On Startup, And Want To See The Child Process As Soon As It Starts. Use: --renderer-startup-dialog --no-sandbox You Have To Disable The Sandbox Or The Dialog Box Will Be Prohibited From Showing. When The Dialog Appears, Visit Tools > Attach To Process And Attach To The Process Showing The Renderer Startup Dialog. Now You're Debugging In The Renderer And Can Continue Execution By Pressing OK In The Dialog. Startup Dialogs Also Exist For Other Child Process Types: --gpu-startup-dialog, --ppapi-startup-dialog, --utility-startup-dialog, --plugin-startup-dialog (for NPAPI). For Utilities, You Can Add A Service Type --utility-startup-dialog=data_decoder.mojom.DataDecoderService. You Can Also Try The Vs-chromium Plug-in To Attach To The Right Processes. Semi-automatically Attaching The Debugger To Child Processes The Following Flags Cause Child Processes To Wait For 60 Seconds In A Busy Loop For A Debugger To Attach To The Process. Once Either Condition Is True, It Continues On; No Exception Is Thrown. --wait-for-debugger-children[=filter] The Filter, If Provided, Will Fire Only If It Matches The --type Parameter To The Process. Values Include Renderer, Plugin (for NPAPI), Ppapi, Gpu-process, And Utility. When Using This Option, It May Be Helpful To Limit The Number Of Renderer Processes Spawned, Using: --renderer-process-limit=1 Image File Execution Options Using Image File Execution Options (IFEO) Will Not Work Because CreateProcess() Returns The Handle To The Debugger Process Instead Of The Intended Child Process. There Are Also Issues With The Sandbox. Time Travel Debugging You Can Do Time Travel Debugging Using WinDbg Preview (must Be Installed From The Microsoft Store). This Lets You Execute A Program Forward And Backwards. After Capturing A Trace, You Can Set Breakpoints And Step Through Code As Normal, But Also Provides 'backwards' Commands (g-, T-, P-) So That You Can Go Back And Forth Through The Execution. It Is Especially Useful To Set Data Breakpoints (ba Command) And Reverse Continuing, So You Can See When A Certain Variable Was Last Changed To Its Current Value. Chromium Specifics: The Type Of Injection The Time Travel Tracer Needs To Perform Is Incompatible With The Chromium Sandbox. In Order To Record A Trace, You'll Need To Run With --no-sandbox. Chromium Cannot Run Elevated With Administrator Privileges, So The "Launch Executable (advance)" Option Won't Work, You'll Need To Attach After The Process Has Already Launched Via The Checkbox In The Bottom Right. If You Need To Record Startup-like Things, You'll Have To Use --{browser,gpu,renderer,utility}-startup-dialog, Then Attach (and Hope The Relevant Code Hasn't Executed Before That Point). JsDbg -- Data Structure Visualization You Can Install JsDbg As A Plugin For WinDbg Or Visual Studio. It Interactively Lets You Look At Data Structures (such As The DOM Tree, Accessibility Tree, Layout Object Tree, And Others) In A Web Browser As You Debug. See The JsDbg Site For Some Screen Shots And Usage Examples. This Also Works When Examining Memory Dumps (though Not Minidumps), And Also Works Together With Time Travel Debugging. Visual Studio Hints Debug Visualizers Chrome's Custom Debug Visualizers Should Be Added To The Pdb Files And Automatically Picked Up By Visual Studio. The Definitions Are In //tools/win/DebugVisualizers If You Need To Modify Them (the BUILD.gn File There Has Additional Instructions). Don't Step Into Trivial Functions The Debugger Can Be Configured To Automatically Not Step Into Functions Based On Regular Expression. Edit Default.natstepfilter In The Following Directory: For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for The Current User Only) For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for The Current User Only) Add Regular Expressions Of Functions To Not Step Into. Remember To Regex-escape And XML-escape Them, E.g. < For < And \. For A Literal Dot. Example: Operator New NoStepInto Operator Delete NoStepInto Std::.* NoStepInto WTF::.*Ptr ::.* NoStepInto This File Is Read At Start Of A Debugging Session (F5), So You Don't Need To Restart Visual Studio After Changing It. More Info: Microsoft Email Thread V8 And Chromium V8 Supports Many Command-line Flags That Are Useful For Debugging. V8 Command-line Flags Can Be Set Via The Chromium Command-line Flag --js-flags; For Instance: Chrome.exe --js-flags="--trace_exception --heap_stats" Note That Some V8 Command-line Flags Exist Only In The Debug Build Of V8. For A List Of All V8 Flags Try: Chrome.exe --js-flags="--help" Graphics Debugging GPU Acceleration Of Rendering Can Be More Easily Debugged With Tools. See: Graphics Debugging In Visual Studio 2013 Graphical Debugging With NVIDIA NSight Debugging On Another Machine Sometimes It's Useful To Debug Installation And Execution On A Machine Other Than Your Primary Build Box. To Run The Installer On Said Other Machine, First Build The Mini_installer Target On Your Main Build Machine (e.g., Autoninja -C Out\Debug Mini_installer). Next, On The Debug Machine: Make The Build Machine's Build Volume Available On The Debug Machine Either By Mounting It Locally (e.g., Z:\) Or By Crafting A UNC Path To It (e.g., \\builder\src) Open Up A Command Prompt And Change To A Local Disk Run Src\tools\win\copy-installer.bat In The Remote Checkout By Way Of The Mount (e.g., Z:\PATHTOCHECKOUT\src\...) Or UNC Path (e.g., \\builder\src\...). This Will Copy The Installer, DLLs, And PDBs Into Your Debug Machine's C:\out Or C:\build (depending On If You're Rocking The Component=shared_library Build Or Not) Run C:\out\Debug\mini_installer.exe With The Flags Of Your Choice To Install Chrome. This Can Take Some Time, Especially On A Slow Machine. Watch The Task Manager And Wait Until Mini_installer.exe Exits Before Trying To Launch Chrome (by Way Of The Shortcut(s) Created By The Installer) For Extra Pleasure, Add C:\out\Debug To Your _NT_SYMBOL_PATH Environment Variable Consider Reading The Documentation At The Top Of Copy-installer.bat To See How You Can Run It. It Tries To Be Smart And Copy The Right Things, But You May Need To Be Explicit (e.g., "copy-installer.bat Out Debug"). It Is Safe To Re-run The Script To Copy Only Modified Files (after A Rebuild, For Example). You Can Also Use The Zip Action Of The Isolate Scripts (tools\mb\mb.py) To Package All The Files For A Target Into A Single Zip File, For Example: Python Tools\mb\mb.py Zip Out/Release Base_unittests Base_unittests.zip Finding All Memory Allocations It Is Possible To Use Heap Snapshots To Get Call Stacks On All Outstanding Allocations That Use The OS Heap. This Works Particularly Well If Heap Snapshots Are Started As Soon As The Chrome Browser Process Is Created, But Before It Starts Running. Details Can Be Found In This Batch File. However, With PartitionAlloc Everywhere Most Chromium Allocations No Longer Use The Windows Heap So This Will Only Find A Subset Of Allocations, Mostly From OS DLLs. Find Memory Leaks Note: As With Heap Snapshots The Utility Of UMDH Is Greatly Reduced Now Because PartitionAlloc Everywhere Has Mostly Replaced The Windows Heap. The Windows Heap Manager Has A Really Useful Debug Flag, Where It Can Be Asked To Capture And Store A Stack Trace With Every Allocation. The Tool To Scrape These Stack Traces Out Of Processes Is UMDH, Which Comes With WinDbg. UMDH Is Great. It Will Capture A Snapshot Of The Heap State As Many Times As You Like, And It'll Do It Fairly Quickly. You Then Run It Again Against Either A Single Snapshot, Or A Pair Of Snapshots, At Which Time It'll Symbolize The Stack Traces And Aggregate Usage Up To Unique Stack Traces. Turning On The User Stack Trace Database For Chrome.exe With Gflags.exe Makes It Run Unbearably Slowly; However, Turning On The User Stack Trace Database On For The Browser Alone Is Just Fine. While It's Possible To Turn On The User Stack Database With The "!gflag" Debugging Extension, It's Too Late To Do This By The Time The Initial Debugger Breakpoint Hits. The Only Reasonable Way To Do This Is To Launch GFlags.exe, Enable The User Stack Trace Database (per Image Below), Launch Chrome Under The Debugger. Set A Breakpont When Chrome.dll Loads With "sxe Ld Chrome.dll". Step Up, To Allow Chrome.dll To Initialize. Disable The Stack Trace Database In GFlags.exe. Continue Chrome, Optionally Detaching The Debugger. Image GFlags.exe Settings For User Mode Stack Trace Database. If You Then Ever Suffer A Browser Memory Leak, You Can Snarf A Dump Of The Process With Umdh -p: > Chrome-browser-leak-umdh-dump.txt Which Can Then Typically Be "trivially" Analyzed To Find The Culprit. Miscellaneous Note That By Default Application Verifier Only Works With Non-official Builds Of Chromium. To Use Application Verifier On Official Builds You Need To Add --disable-features=RendererCodeIntegrity To Avoid Sandbox Crashes In Renderer Processes. See Crbug.com/1004989 For Details. See Also This Page. Application Verifier Is A Free Tool From Microsoft (available As Part Of The Windows SDK) That Can Be Used To Flush Out Programming Errors. Starting With M68 Application Verifier Can Be Enabled For Chrome.exe Without Needing To Disable The Sandbox. After Adding Chrome.exe To The List Of Applications To Be Stressed You Need To Expand The List Of Basics Checks And Disable The Leak Checks. You May Also Need To Disable Handles And Locks Checks Depending On Your Graphics Driver And Specific Chrome Version, But The Eventual Goal Is To Have Chrome Run With Handles And Locks Checks Enabled. When Bugs Are Found Chrome Will Trigger A Breakpoint So Running All Chrome Processes Under A Debugger Is Recommended. Chrome Will Run Much More Slowly Because Application Verifier Puts Every Heap Allocation On A Separate Page. Note That With PartitionAlloc Everywhere Most Chromium Allocations Don't Actually Go Through The Windows Heap And Are Therefore Unaffected By Application Verifier. You Can Check The Undocumented 'Cuzz' Checkbox In Application Verifier To Get The Windows Thread Scheduler To Add Some Extra Randomness In Order To Help Expose Race Conditions In Your Code. To Put A Breakpoint On CreateFile(), Add This Break Point: {,,kernel32.dll}_CreateFileW@28 {,,kernel32.dll} Specifies The DLL (context Operator). _ Prefix Means Extern "C". @28 Postfix Means _stdcall With The Stack Pop At The End Of The Function. I.e. The Number Of Arguments In BYTES. You Can Use DebugView From SysInternals Or Sawbuck To View LOG() Messages That Normally Go To Stderr On POSIX.” Subjects and Themes:
Edition Identifiers:
- Internet Archive ID: debugging-chromium-on-windows
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 0.33 Mbs, the file-s for this book were downloaded 2 times, the file-s went public at Fri Jul 11 2025.
Available formats:
Archive BitTorrent - Metadata - Text -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find The Chromium Logo The Chromium Projects Home Chromium ChromiumOS Quick Links Report Bugs Discuss Other Sites Chromium Blog Google Chrome Extensions Except As Otherwise Noted, The Content Of This Page Is Licensed Under A Creative Commons Attribution 2.5 License, And Examples Are Licensed Under The BSD License. Privacy Edit This Page For Developers > How-Tos > Debugging Chromium On Windows First See Get The Code For Checkout And Build Instructions. Getting Started You Can Use Visual Studio's Built-in Debugger Or WinDBG To Debug Chromium. You Don't Need To Use The IDE To Build In Order To Use The Debugger: Autoninja Is Used To Build Chromium And Most Developers Invoke It From A Command Prompt, And Then Open The IDE For Debugging As Necessary. To Start Debugging An Already-built Executable With Visual Studio Just Launch Visual Studio (2019 Or Higher) And Select File-> Open-> Project/Solution (Ctrl+Shift+O) And Select The Executable Of Interest. This Will Create A Solution With That Executable As The 'project'. You Can Then Launch The Debugger With F5 Or F11 Or From The Debug Menu. If You Right-click On The Executable In Solution Explorer And Select Properties Then You Can Edit Things Such As The Executable Path, Command-line Arguments, And Working Directory. You Can Add Additional Executables To The Solution By Using File-> Add-> Existing Project And Selecting Another Already-built Executable. You Can Select Which One To Debug By Right-clicking On One Of Them In Solution Explorer And Selecting Set As Startup Project. When Your Solution File Is Customized To Your Taste You Can Save It To A Directory Such As Out\solutions. Saving It There Helps Ensure That Relative Paths To Source Files, Printed From Build Commands, Will Correctly Identify The Source Files. The Tools Menu Can Be Used To Add Commands To Do Things Like Invoke Autoninja To Build Chrome, Compile The Selected Source File, Or Other Things. Visual Studio 2017 Is Not Recommended For Debugging Of Chromium - Use A Newer Version For Best Performance And Stability. Symbol_level=2 Is The Default On Windows And Gives Full Debugging Information With Types, Locals, Globals, Function Names, And Source/line Information. Symbol_level=1 Creates Smaller PDBs With Just Function Names, And Source/line Information - Source-level Debugging Is Still Supported (new From June 2019), But Local Variables And Type Information Are Missing. Symbol_level=0 Gives Extremely Limited Debugging Abilities, Mostly Just Viewing Call Stacks When Chromium Crashes. Browsing Source Code If You Use A Solution File Generated By Gn (gn Gen --ide=vs) Then Intellisense May Help You Navigate The Code. If This Doesn't Work Or If You Use A Solution Created As Above Then You May Want To Install VsChromium To Help Navigate The Code, As Well As Using Https://source.chromium.org. Profiles It's A Good Idea To Use A Different Chrome Profile For Your Debugging. If You Are Debugging Google Chrome Branded Builds, Or Use A Chromium Build As Your Primary Browser, The Profiles Can Collide So You Can't Run Both At Once, And Your Stable Browser Might See Profile Versions From The Future (Google Chrome And Chromium Use Different Profile Directories By Default So Won't Collide). Use The Command-line Option: --user-data-dir=C:\tmp\my_debug_profile (replace The Path As Necessary) Using The IDE, Go To The Debugging Tab Of The Properties Of The Chrome Project, And Set The Command Arguments. Chrome Debug Log Enable Chrome Debug Logging To A File By Passing --enable-logging --v=1 Command-line Flags At Startup. Debug Builds Place The Chrome_debug.log File In The Out\Debug Directory. Release Builds Place The File In The Top Level Of The User Data Chromium App Directory, Which Is OS-version-dependent. For More Information, See Logging And User Data Directory Details. Symbol Server If You Are Debugging Official Google Chrome Release Builds, Use The Symbol Server: Https://chromium-browser-symsrv.commondatastorage.googleapis.com In Visual Studio, This Goes In Tools > Options Under Debugging > Symbols. You Should Set Up A Local Cache In A Empty Directory On Your Computer. In Windbg You Can Add This To Your Symbol Server Search Path With The Command Below, Where C:\symbols Is A Local Cache Directory: .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Alternately, You Can Set The _NT_SYMBOL_PATH Environment Variable To Include Both The Microsoft And Google Symbol Servers - VS, Windbg, And Other Tools Should Both Respect This Environment Variable: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com Note That Symbol Servers Will Let The Debuggers Download Both The PE Files (DLLs And EXEs) And The PDB Files. Chrome Often Loads Third Party Libraries And Partial Symbols For Some Of These Are Also Public. For Example: AMD: Https://download.amd.com/dir/bin Nvidia: Https://driver-symbols.nvidia.com/ Intel: Https://software.intel.com/sites/downloads/symbols/ For Example, For Completeness, The Following Symbol Server Environment Variable Will Resolve All Of The Above Sources - But This Is More Than Is Normally Needed: _NT_SYMBOL_PATH=SRV\*C:\symbols\*https://msdl.microsoft.com/download/symbols;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://download.amd.com/dir/bin;SRV\*C:\symbols\*https://driver-symbols.nvidia.com/;SRV\*C:\symbols\*https://software.intel.com/sites/downloads/symbols/ Source Indexing You Should Set Up Source Indexing In Your Debugger (.srcfix In Windbg, Tools-> Options-> Debugging-> General-> Enable Source Server Support In Visual Studio) So That The Correct Source Files Will Automatically Be Downloaded Based On Information In The Downloaded Symbols. Additionally, You Must Have Python In Your Path In Order For The Command That Fetches Source Files To Succeed; Launching The Debugger From The Same Environment As Where You Build Chromium Is An Easy Way To Ensure It's Present. This Is Highly Recommended When Debugging Released Google Chrome Builds Or Looking At Crash Dumps. Having The Correct Version Of The Source Files Automatically Show Up Saves Significant Time So You Should Definitely Set This. Multi-process Issues Chromium Can Be Challenging To Debug Because Of Its Multi-process Architecture. When You Select Run In The Debugger, Only The Main Browser Process Will Be Debugged. The Code That Actually Renders Web Pages (the Renderer) And The Plugins Will Be In Separate Processes That's Not (yet!) Being Debugged. The ProcessExplorer Tool Has A Process Tree View Where You Can See How These Processes Are Related. You Can Also Get The Process IDs Associated With Each Tab From The Chrome Task Manager (right-click On An Empty Area Of The Window Title Bar To Open). Automatically Attach To Child Processes There Are Two Visual Studio Extensions That Enable The Debugger To Automatically Attach To All Chrome Processes, So You Can Debug All Of Chrome At Once. Microsoft's Child Process Debugging Power Tool Is A Standalone Extension For This, And VsChromium Is Another Option That Bundles Many Other Additional Features. In Addition To Installing One Of These Extensions, You Must Run Visual Studio As Administrator, Or It Will Silently Fail To Attach To Some Of Chrome's Child Processes. Single-process Mode One Way To Debug Issues Is To Run Chromium In Single-process Mode. This Will Allow You To See The Entire State Of The Program Without Extra Work (although It Will Still Have Many Threads). To Use Single-process Mode, Add The Command-line Flag --single-process This Approach Isn't Perfect Because Some Problems Won't Manifest Themselves In This Mode And Some Features Don't Work And Worker Threads Are Still Spawned Into New Processes. Manually Attaching To A Child Process You Can Attach To The Running Child Processes With The Debugger. Select Tools > Attach To Process And Click The Chrome.exe Process You Want To Attach To. Before Attaching, Make Sure You Have Selected Only Native Code When Attaching To The Process This Is Done By Clicking Select... In The Attach To Process Window And Only Checking Native. If You Forget This, It May Attempt To Attach In "WebKit" Mode To Debug JavaScript, And You'll Get An Error Message "An Operation Is Not Legal In The Current State." You Can Now Debug The Two Processes As If They Were One. When You Are Debugging Multiple Processes, Open The Debug > Windows > Processes Window To Switch Between Them. Sometimes You Are Debugging Something That Only Happens On Startup, And Want To See The Child Process As Soon As It Starts. Use: --renderer-startup-dialog --no-sandbox You Have To Disable The Sandbox Or The Dialog Box Will Be Prohibited From Showing. When The Dialog Appears, Visit Tools > Attach To Process And Attach To The Process Showing The Renderer Startup Dialog. Now You're Debugging In The Renderer And Can Continue Execution By Pressing OK In The Dialog. Startup Dialogs Also Exist For Other Child Process Types: --gpu-startup-dialog, --ppapi-startup-dialog, --utility-startup-dialog, --plugin-startup-dialog (for NPAPI). For Utilities, You Can Add A Service Type --utility-startup-dialog=data_decoder.mojom.DataDecoderService. You Can Also Try The Vs-chromium Plug-in To Attach To The Right Processes. Semi-automatically Attaching The Debugger To Child Processes The Following Flags Cause Child Processes To Wait For 60 Seconds In A Busy Loop For A Debugger To Attach To The Process. Once Either Condition Is True, It Continues On; No Exception Is Thrown. --wait-for-debugger-children[=filter] The Filter, If Provided, Will Fire Only If It Matches The --type Parameter To The Process. Values Include Renderer, Plugin (for NPAPI), Ppapi, Gpu-process, And Utility. When Using This Option, It May Be Helpful To Limit The Number Of Renderer Processes Spawned, Using: --renderer-process-limit=1 Image File Execution Options Using Image File Execution Options (IFEO) Will Not Work Because CreateProcess() Returns The Handle To The Debugger Process Instead Of The Intended Child Process. There Are Also Issues With The Sandbox. Time Travel Debugging You Can Do Time Travel Debugging Using WinDbg Preview (must Be Installed From The Microsoft Store). This Lets You Execute A Program Forward And Backwards. After Capturing A Trace, You Can Set Breakpoints And Step Through Code As Normal, But Also Provides 'backwards' Commands (g-, T-, P-) So That You Can Go Back And Forth Through The Execution. It Is Especially Useful To Set Data Breakpoints (ba Command) And Reverse Continuing, So You Can See When A Certain Variable Was Last Changed To Its Current Value. Chromium Specifics: The Type Of Injection The Time Travel Tracer Needs To Perform Is Incompatible With The Chromium Sandbox. In Order To Record A Trace, You'll Need To Run With --no-sandbox. Chromium Cannot Run Elevated With Administrator Privileges, So The "Launch Executable (advance)" Option Won't Work, You'll Need To Attach After The Process Has Already Launched Via The Checkbox In The Bottom Right. If You Need To Record Startup-like Things, You'll Have To Use --{browser,gpu,renderer,utility}-startup-dialog, Then Attach (and Hope The Relevant Code Hasn't Executed Before That Point). JsDbg -- Data Structure Visualization You Can Install JsDbg As A Plugin For WinDbg Or Visual Studio. It Interactively Lets You Look At Data Structures (such As The DOM Tree, Accessibility Tree, Layout Object Tree, And Others) In A Web Browser As You Debug. See The JsDbg Site For Some Screen Shots And Usage Examples. This Also Works When Examining Memory Dumps (though Not Minidumps), And Also Works Together With Time Travel Debugging. Visual Studio Hints Debug Visualizers Chrome's Custom Debug Visualizers Should Be Added To The Pdb Files And Automatically Picked Up By Visual Studio. The Definitions Are In //tools/win/DebugVisualizers If You Need To Modify Them (the BUILD.gn File There Has Additional Instructions). Don't Step Into Trivial Functions The Debugger Can Be Configured To Automatically Not Step Into Functions Based On Regular Expression. Edit Default.natstepfilter In The Following Directory: For Visual Studio 2015: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2015\Visualizers (for The Current User Only) For Visual Studio 2017 Pro: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers (for All Users) Or %USERPROFILE%\My Documents\Visual Studio 2017\Visualizers (for The Current User Only) Add Regular Expressions Of Functions To Not Step Into. Remember To Regex-escape And XML-escape Them, E.g. < For < And \. For A Literal Dot. Example: Operator New NoStepInto Operator Delete NoStepInto Std::.* NoStepInto WTF::.*Ptr ::.* NoStepInto This File Is Read At Start Of A Debugging Session (F5), So You Don't Need To Restart Visual Studio After Changing It. More Info: Microsoft Email Thread V8 And Chromium V8 Supports Many Command-line Flags That Are Useful For Debugging. V8 Command-line Flags Can Be Set Via The Chromium Command-line Flag --js-flags; For Instance: Chrome.exe --js-flags="--trace_exception --heap_stats" Note That Some V8 Command-line Flags Exist Only In The Debug Build Of V8. For A List Of All V8 Flags Try: Chrome.exe --js-flags="--help" Graphics Debugging GPU Acceleration Of Rendering Can Be More Easily Debugged With Tools. See: Graphics Debugging In Visual Studio 2013 Graphical Debugging With NVIDIA NSight Debugging On Another Machine Sometimes It's Useful To Debug Installation And Execution On A Machine Other Than Your Primary Build Box. To Run The Installer On Said Other Machine, First Build The Mini_installer Target On Your Main Build Machine (e.g., Autoninja -C Out\Debug Mini_installer). Next, On The Debug Machine: Make The Build Machine's Build Volume Available On The Debug Machine Either By Mounting It Locally (e.g., Z:\) Or By Crafting A UNC Path To It (e.g., \\builder\src) Open Up A Command Prompt And Change To A Local Disk Run Src\tools\win\copy-installer.bat In The Remote Checkout By Way Of The Mount (e.g., Z:\PATHTOCHECKOUT\src\...) Or UNC Path (e.g., \\builder\src\...). This Will Copy The Installer, DLLs, And PDBs Into Your Debug Machine's C:\out Or C:\build (depending On If You're Rocking The Component=shared_library Build Or Not) Run C:\out\Debug\mini_installer.exe With The Flags Of Your Choice To Install Chrome. This Can Take Some Time, Especially On A Slow Machine. Watch The Task Manager And Wait Until Mini_installer.exe Exits Before Trying To Launch Chrome (by Way Of The Shortcut(s) Created By The Installer) For Extra Pleasure, Add C:\out\Debug To Your _NT_SYMBOL_PATH Environment Variable Consider Reading The Documentation At The Top Of Copy-installer.bat To See How You Can Run It. It Tries To Be Smart And Copy The Right Things, But You May Need To Be Explicit (e.g., "copy-installer.bat Out Debug"). It Is Safe To Re-run The Script To Copy Only Modified Files (after A Rebuild, For Example). You Can Also Use The Zip Action Of The Isolate Scripts (tools\mb\mb.py) To Package All The Files For A Target Into A Single Zip File, For Example: Python Tools\mb\mb.py Zip Out/Release Base_unittests Base_unittests.zip Finding All Memory Allocations It Is Possible To Use Heap Snapshots To Get Call Stacks On All Outstanding Allocations That Use The OS Heap. This Works Particularly Well If Heap Snapshots Are Started As Soon As The Chrome Browser Process Is Created, But Before It Starts Running. Details Can Be Found In This Batch File. However, With PartitionAlloc Everywhere Most Chromium Allocations No Longer Use The Windows Heap So This Will Only Find A Subset Of Allocations, Mostly From OS DLLs. Find Memory Leaks Note: As With Heap Snapshots The Utility Of UMDH Is Greatly Reduced Now Because PartitionAlloc Everywhere Has Mostly Replaced The Windows Heap. The Windows Heap Manager Has A Really Useful Debug Flag, Where It Can Be Asked To Capture And Store A Stack Trace With Every Allocation. The Tool To Scrape These Stack Traces Out Of Processes Is UMDH, Which Comes With WinDbg. UMDH Is Great. It Will Capture A Snapshot Of The Heap State As Many Times As You Like, And It'll Do It Fairly Quickly. You Then Run It Again Against Either A Single Snapshot, Or A Pair Of Snapshots, At Which Time It'll Symbolize The Stack Traces And Aggregate Usage Up To Unique Stack Traces. Turning On The User Stack Trace Database For Chrome.exe With Gflags.exe Makes It Run Unbearably Slowly; However, Turning On The User Stack Trace Database On For The Browser Alone Is Just Fine. While It's Possible To Turn On The User Stack Database With The "!gflag" Debugging Extension, It's Too Late To Do This By The Time The Initial Debugger Breakpoint Hits. The Only Reasonable Way To Do This Is To Launch GFlags.exe, Enable The User Stack Trace Database (per Image Below), Launch Chrome Under The Debugger. Set A Breakpont When Chrome.dll Loads With "sxe Ld Chrome.dll". Step Up, To Allow Chrome.dll To Initialize. Disable The Stack Trace Database In GFlags.exe. Continue Chrome, Optionally Detaching The Debugger. Image GFlags.exe Settings For User Mode Stack Trace Database. If You Then Ever Suffer A Browser Memory Leak, You Can Snarf A Dump Of The Process With Umdh -p: > Chrome-browser-leak-umdh-dump.txt Which Can Then Typically Be "trivially" Analyzed To Find The Culprit. Miscellaneous Note That By Default Application Verifier Only Works With Non-official Builds Of Chromium. To Use Application Verifier On Official Builds You Need To Add --disable-features=RendererCodeIntegrity To Avoid Sandbox Crashes In Renderer Processes. See Crbug.com/1004989 For Details. See Also This Page. Application Verifier Is A Free Tool From Microsoft (available As Part Of The Windows SDK) That Can Be Used To Flush Out Programming Errors. Starting With M68 Application Verifier Can Be Enabled For Chrome.exe Without Needing To Disable The Sandbox. After Adding Chrome.exe To The List Of Applications To Be Stressed You Need To Expand The List Of Basics Checks And Disable The Leak Checks. You May Also Need To Disable Handles And Locks Checks Depending On Your Graphics Driver And Specific Chrome Version, But The Eventual Goal Is To Have Chrome Run With Handles And Locks Checks Enabled. When Bugs Are Found Chrome Will Trigger A Breakpoint So Running All Chrome Processes Under A Debugger Is Recommended. Chrome Will Run Much More Slowly Because Application Verifier Puts Every Heap Allocation On A Separate Page. Note That With PartitionAlloc Everywhere Most Chromium Allocations Don't Actually Go Through The Windows Heap And Are Therefore Unaffected By Application Verifier. You Can Check The Undocumented 'Cuzz' Checkbox In Application Verifier To Get The Windows Thread Scheduler To Add Some Extra Randomness In Order To Help Expose Race Conditions In Your Code. To Put A Breakpoint On CreateFile(), Add This Break Point: {,,kernel32.dll}_CreateFileW@28 {,,kernel32.dll} Specifies The DLL (context Operator). _ Prefix Means Extern "C". @28 Postfix Means _stdcall With The Stack Pop At The End Of The Function. I.e. The Number Of Arguments In BYTES. You Can Use DebugView From SysInternals Or Sawbuck To View LOG() Messages That Normally Go To Stderr On POSIX. at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
3The Value Of Respect : The Story Of Abraham Lincoln
By Johnson, Ann Donegan and Pileggi, Steve
A brief biography of Abraham Lincoln emphasizing the importance of respect of his life
“The Value Of Respect : The Story Of Abraham Lincoln” Metadata:
- Title: ➤ The Value Of Respect : The Story Of Abraham Lincoln
- Authors: Johnson, Ann DoneganPileggi, Steve
- Language: English
“The Value Of Respect : The Story Of Abraham Lincoln” Subjects and Themes:
- Subjects: Lincoln, Abraham, 1809-1865 - Presidents - Respect
Edition Identifiers:
- Internet Archive ID: valueofrespectst00john
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 153.61 Mbs, the file-s for this book were downloaded 157 times, the file-s went public at Mon May 24 2010.
Available formats:
ACS Encrypted PDF - Abbyy GZ - Animated GIF - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - MARC - MARC Binary - MARC Source - Metadata - Metadata Log - OCLC xISBN JSON - OCR Page Index - OCR Search Text - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - chOCR - hOCR -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find The Value Of Respect : The Story Of Abraham Lincoln at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
4ERIC ED623275: English Taught Inductively. Book II This English Textbook Is Designed For The Seventh And Eighth Grades Of The Elementary School. Like Book One (ED623274) Of The Same Series, It Lays Stress On Spoken Language And Aims Throughout Rather To Lead The Pupils To See The Value Of Correct And Accurate Language And Desire To Use It, Than Formally To Cover Any Mapped-out Field Of Knowledge. In Respect To The Various Kinds Of Work Included Under The Catch-all Title Of English, The Intention Has Been To Secure For Each Piece Of Literature An Opportunity To Make Its Own Appeal And, Secondly, To Make Clear To The Pupils The Very Living And Constant Relation Between Literature And Any Honest Effort Of Their Own Toward Adequate Expression. In The Lessons In Grammar As Much Use As Possible Of The Text Of The Book Is Suggested As A Practical Means Of Showing This Relation. In The Treatment Of Written Composition, The Effort Has Been Made To Show' That It Is Possible To Bring About A Good Degree Of Interest And Efficiency Without Reliance Upon "models'' Drawn From Literature. In Regard To These Points, However, As To All Others, The Effort Has Been To Take No Extreme Position, But To Furnish A Variety Of Material And Suggestion, Assuming That Teachers Will Select From Both As They Think Good.
By ERIC
This English textbook is designed for the seventh and eighth grades of the elementary school. Like Book One (ED623274) of the same series, it lays stress on spoken language and aims throughout rather to lead the pupils to see the value of correct and accurate language and desire to use it, than formally to cover any mapped-out field of knowledge. In respect to the various kinds of work included under the catch-all title of English, the intention has been to secure for each piece of literature an opportunity to make its own appeal and, secondly, to make clear to the pupils the very living and constant relation between literature and any honest effort of their own toward adequate expression. In the lessons in grammar as much use as possible of the text of the book is suggested as a practical means of showing this relation. In the treatment of written composition, the effort has been made to show' that it is possible to bring about a good degree of interest and efficiency without reliance upon "models'' drawn from literature. In regard to these points, however, as to all others, the effort has been to take no extreme position, but to furnish a variety of material and suggestion, assuming that teachers will select from both as they think good.
“ERIC ED623275: English Taught Inductively. Book II This English Textbook Is Designed For The Seventh And Eighth Grades Of The Elementary School. Like Book One (ED623274) Of The Same Series, It Lays Stress On Spoken Language And Aims Throughout Rather To Lead The Pupils To See The Value Of Correct And Accurate Language And Desire To Use It, Than Formally To Cover Any Mapped-out Field Of Knowledge. In Respect To The Various Kinds Of Work Included Under The Catch-all Title Of English, The Intention Has Been To Secure For Each Piece Of Literature An Opportunity To Make Its Own Appeal And, Secondly, To Make Clear To The Pupils The Very Living And Constant Relation Between Literature And Any Honest Effort Of Their Own Toward Adequate Expression. In The Lessons In Grammar As Much Use As Possible Of The Text Of The Book Is Suggested As A Practical Means Of Showing This Relation. In The Treatment Of Written Composition, The Effort Has Been Made To Show' That It Is Possible To Bring About A Good Degree Of Interest And Efficiency Without Reliance Upon "models'' Drawn From Literature. In Regard To These Points, However, As To All Others, The Effort Has Been To Take No Extreme Position, But To Furnish A Variety Of Material And Suggestion, Assuming That Teachers Will Select From Both As They Think Good.” Metadata:
- Title: ➤ ERIC ED623275: English Taught Inductively. Book II This English Textbook Is Designed For The Seventh And Eighth Grades Of The Elementary School. Like Book One (ED623274) Of The Same Series, It Lays Stress On Spoken Language And Aims Throughout Rather To Lead The Pupils To See The Value Of Correct And Accurate Language And Desire To Use It, Than Formally To Cover Any Mapped-out Field Of Knowledge. In Respect To The Various Kinds Of Work Included Under The Catch-all Title Of English, The Intention Has Been To Secure For Each Piece Of Literature An Opportunity To Make Its Own Appeal And, Secondly, To Make Clear To The Pupils The Very Living And Constant Relation Between Literature And Any Honest Effort Of Their Own Toward Adequate Expression. In The Lessons In Grammar As Much Use As Possible Of The Text Of The Book Is Suggested As A Practical Means Of Showing This Relation. In The Treatment Of Written Composition, The Effort Has Been Made To Show' That It Is Possible To Bring About A Good Degree Of Interest And Efficiency Without Reliance Upon "models'' Drawn From Literature. In Regard To These Points, However, As To All Others, The Effort Has Been To Take No Extreme Position, But To Furnish A Variety Of Material And Suggestion, Assuming That Teachers Will Select From Both As They Think Good.
- Author: ERIC
- Language: English
“ERIC ED623275: English Taught Inductively. Book II This English Textbook Is Designed For The Seventh And Eighth Grades Of The Elementary School. Like Book One (ED623274) Of The Same Series, It Lays Stress On Spoken Language And Aims Throughout Rather To Lead The Pupils To See The Value Of Correct And Accurate Language And Desire To Use It, Than Formally To Cover Any Mapped-out Field Of Knowledge. In Respect To The Various Kinds Of Work Included Under The Catch-all Title Of English, The Intention Has Been To Secure For Each Piece Of Literature An Opportunity To Make Its Own Appeal And, Secondly, To Make Clear To The Pupils The Very Living And Constant Relation Between Literature And Any Honest Effort Of Their Own Toward Adequate Expression. In The Lessons In Grammar As Much Use As Possible Of The Text Of The Book Is Suggested As A Practical Means Of Showing This Relation. In The Treatment Of Written Composition, The Effort Has Been Made To Show' That It Is Possible To Bring About A Good Degree Of Interest And Efficiency Without Reliance Upon "models'' Drawn From Literature. In Regard To These Points, However, As To All Others, The Effort Has Been To Take No Extreme Position, But To Furnish A Variety Of Material And Suggestion, Assuming That Teachers Will Select From Both As They Think Good.” Subjects and Themes:
- Subjects: ➤ ERIC Archive - ERIC - Cabell, Elvira Daniel Freeman, Virginia Winchester English Instruction - Grade 7 - Grade 8 - Elementary School Students - Textbooks
Edition Identifiers:
- Internet Archive ID: ERIC_ED623275
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 171.51 Mbs, the file-s for this book were downloaded 30 times, the file-s went public at Wed Jan 22 2025.
Available formats:
Archive BitTorrent - DjVuTXT - Djvu XML - Item Tile - Metadata - OCR Page Index - OCR Search Text - Page Numbers JSON - Scandata - Single Page Processed JP2 ZIP - Text PDF - chOCR - hOCR -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find ERIC ED623275: English Taught Inductively. Book II This English Textbook Is Designed For The Seventh And Eighth Grades Of The Elementary School. Like Book One (ED623274) Of The Same Series, It Lays Stress On Spoken Language And Aims Throughout Rather To Lead The Pupils To See The Value Of Correct And Accurate Language And Desire To Use It, Than Formally To Cover Any Mapped-out Field Of Knowledge. In Respect To The Various Kinds Of Work Included Under The Catch-all Title Of English, The Intention Has Been To Secure For Each Piece Of Literature An Opportunity To Make Its Own Appeal And, Secondly, To Make Clear To The Pupils The Very Living And Constant Relation Between Literature And Any Honest Effort Of Their Own Toward Adequate Expression. In The Lessons In Grammar As Much Use As Possible Of The Text Of The Book Is Suggested As A Practical Means Of Showing This Relation. In The Treatment Of Written Composition, The Effort Has Been Made To Show' That It Is Possible To Bring About A Good Degree Of Interest And Efficiency Without Reliance Upon "models'' Drawn From Literature. In Regard To These Points, However, As To All Others, The Effort Has Been To Take No Extreme Position, But To Furnish A Variety Of Material And Suggestion, Assuming That Teachers Will Select From Both As They Think Good. at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
5Learn The Value Of Respect
By Goley, Elaine P., 1949-
This English textbook is designed for the seventh and eighth grades of the elementary school. Like Book One (ED623274) of the same series, it lays stress on spoken language and aims throughout rather to lead the pupils to see the value of correct and accurate language and desire to use it, than formally to cover any mapped-out field of knowledge. In respect to the various kinds of work included under the catch-all title of English, the intention has been to secure for each piece of literature an opportunity to make its own appeal and, secondly, to make clear to the pupils the very living and constant relation between literature and any honest effort of their own toward adequate expression. In the lessons in grammar as much use as possible of the text of the book is suggested as a practical means of showing this relation. In the treatment of written composition, the effort has been made to show' that it is possible to bring about a good degree of interest and efficiency without reliance upon "models'' drawn from literature. In regard to these points, however, as to all others, the effort has been to take no extreme position, but to furnish a variety of material and suggestion, assuming that teachers will select from both as they think good.
“Learn The Value Of Respect” Metadata:
- Title: Learn The Value Of Respect
- Author: Goley, Elaine P., 1949-
- Language: English
“Learn The Value Of Respect” Subjects and Themes:
- Subjects: ➤ Respect -- Juvenile literature - Conduct of life -- Juvenile literature - Conduct of life - Respect
Edition Identifiers:
- Internet Archive ID: learnvalueofresp0000gole
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 336.54 Mbs, the file-s for this book were downloaded 51 times, the file-s went public at Mon Dec 03 2018.
Available formats:
ACS Encrypted EPUB - ACS Encrypted PDF - Abbyy GZ - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - chOCR - hOCR -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find Learn The Value Of Respect at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
6ERIC EJ847785: Hidden Curriculum On Gaining The Value Of Respect For Human Dignity: A Qualitative Study In Two Elementary Schools In Adana
By ERIC
The main purpose of this study is to investigate the functions of hidden curriculum on respect for human dignity which is one of the basic democratic values in detail in two elementary schools with low and high quality school life in Adana-Turkey. In this case study, the data were gathered through observations and interviews from teachers and students. Content analysis was used to analyze the data which were gathered the schools for four months. As a result, although its intensity is different, the hidden curriculums in both schools have inappropriate features for democratic values. For most variables taken into consideration in the study, the hidden curriculum in the school with low quality life has more inappropriate features of respect for human dignity. And also, students in this school showed more frequent misbehaviors regarding respect for human dignity. Therefore it can be said that all sides of the hidden curriculum have mutual relations with each other, that students show parallel behaviors to the environment of the school and that the more students show misbehaviors, the more teachers show antidemocratic responses.
“ERIC EJ847785: Hidden Curriculum On Gaining The Value Of Respect For Human Dignity: A Qualitative Study In Two Elementary Schools In Adana” Metadata:
- Title: ➤ ERIC EJ847785: Hidden Curriculum On Gaining The Value Of Respect For Human Dignity: A Qualitative Study In Two Elementary Schools In Adana
- Author: ERIC
- Language: English
“ERIC EJ847785: Hidden Curriculum On Gaining The Value Of Respect For Human Dignity: A Qualitative Study In Two Elementary Schools In Adana” Subjects and Themes:
- Subjects: ➤ ERIC Archive - Elementary Schools - Hidden Curriculum - Human Dignity - Foreign Countries - Democratic Values - Content Analysis - Student Behavior - School Culture - Educational Environment - Teacher Student Relationship - Teacher Behavior - Sari, Mediha - Doganay, Ahmet
Edition Identifiers:
- Internet Archive ID: ERIC_EJ847785
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 6.39 Mbs, the file-s for this book were downloaded 153 times, the file-s went public at Thu May 26 2016.
Available formats:
Abbyy GZ - Animated GIF - Archive BitTorrent - DjVuTXT - Djvu XML - Item Tile - Metadata - Scandata - Single Page Processed JP2 ZIP - Text PDF -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find ERIC EJ847785: Hidden Curriculum On Gaining The Value Of Respect For Human Dignity: A Qualitative Study In Two Elementary Schools In Adana at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
7The Case Of Archbald Douglas, Esq; With Respect To His Claim For The Value Of The Heretable Sheriffship Of Roxburgh. 1747
By Douglas, Archibald
The case of Archbald Douglas, Esq; with respect to his claim for the value of the heretable Sheriffship of Roxburgh. 1747.. Digitized from IA40316211-48 . Previous issue: bim_eighteenth-century_the-proceedings-in-the-c_bourne-charles_1783 .
“The Case Of Archbald Douglas, Esq; With Respect To His Claim For The Value Of The Heretable Sheriffship Of Roxburgh. 1747” Metadata:
- Title: ➤ The Case Of Archbald Douglas, Esq; With Respect To His Claim For The Value Of The Heretable Sheriffship Of Roxburgh. 1747
- Author: Douglas, Archibald
- Language: Middle English
“The Case Of Archbald Douglas, Esq; With Respect To His Claim For The Value Of The Heretable Sheriffship Of Roxburgh. 1747” Subjects and Themes:
- Subjects: ➤ Language & Literature - Literary And Political Reviews - General Interest Periodicals--United Kingdom - Law - Philosophy & Religion - Fine & Performing Arts - Social Sciences - History - History--History of North And South America - Books - microfilm
Edition Identifiers:
- Internet Archive ID: ➤ bim_eighteenth-century_the-case-of-archbald-dou_douglas-archibald_1747
Downloads Information:
The book is available for download in "texts" format, the size of the file-s is: 47.65 Mbs, the file-s for this book were downloaded 17 times, the file-s went public at Mon Oct 02 2023.
Available formats:
Archive BitTorrent - DjVuTXT - Djvu XML - Item Image - Item Tile - JPEG 2000 - JSON - Metadata - OCR Page Index - OCR Search Text - Page Numbers JSON - Scandata - Single Page Processed JP2 ZIP - Text PDF - chOCR - hOCR -
Related Links:
- Whefi.com: Download
- Whefi.com: Review - Coverage
- Internet Archive: Details
- Internet Archive Link: Downloads
Online Marketplaces
Find The Case Of Archbald Douglas, Esq; With Respect To His Claim For The Value Of The Heretable Sheriffship Of Roxburgh. 1747 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
Source: The Open Library
The Open Library Search Results
Available books for downloads and borrow from The Open Library
1The Value of Respect
By Ann Donegan Johnson

“The Value of Respect” Metadata:
- Title: The Value of Respect
- Author: Ann Donegan Johnson
- Language: English
- Number of Pages: Median: 63
- Publisher: ➤ Goldencraft - Value Communications
- Publish Date: 1977 - 1980
- Publish Location: La Jolla, Calif
“The Value of Respect” Subjects and Themes:
- Subjects: Biography - Juvenile literature - Presidents - Respect
- People: Abraham Lincoln (1809-1865)
- Places: United States
Edition Identifiers:
- The Open Library ID: OL4544789M - OL9398871M
- Online Computer Library Center (OCLC) ID: 3240311
- Library of Congress Control Number (LCCN): 77012455
- All ISBNs: 0916392147 - 9780916392147 - 9780307699565 - 0307699560
Access and General Info:
- First Year Published: 1977
- Is Full Text Available: Yes
- Is The Book Public: No
- Access Status: Borrowable
Online Access
Downloads Are Not Available:
The book is not public therefore the download links will not allow the download of the entire book, however, borrowing the book online is available.
Online Borrowing:
- Borrowing from Open Library: Borrowing link
- Borrowing from Archive.org: Borrowing link
Online Marketplaces
Find The Value of Respect at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
Source: LibriVox
LibriVox Search Results
Available audio books for downloads from LibriVox
1Mother Night
By James Weldon Johnson
LibriVox volunteers bring you fifteen different readings of <i>Mother Night</i>, by James Weldon Johnson. This weekly poetry project (for the week of Feb 26, 2006) was selected to celebrate Black History Month.<br>(Summary by Annie Coleman)
“Mother Night” Metadata:
- Title: Mother Night
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1922
Edition Specifications:
- Format: Audio
- Number of Sections: 15
- Total Time: 0:17:11
Edition Identifiers:
- libriVox ID: 216
Links and information:
Online Access
Download the Audio Book:
- File Name: mother_night_librivox
- File Format: zip
- Total Time: 0:17:11
- Download Link: Download link
Online Marketplaces
Find Mother Night at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
2O Southland!
By James Weldon Johnson
In celebration of <a href="http://en.wikipedia.org/wiki/Juneteenth">Juneteenth</a>, LibriVox volunteers bring you five different versions of <em>O Southland!</em>, by James Weldon Johnson. This was the weekly poetry project for 18 June 2006.<br />(Summary by Annie Coleman)
“O Southland!” Metadata:
- Title: O Southland!
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1922
Edition Specifications:
- Format: Audio
- Number of Sections: 5
- Total Time: 00:09:03
Edition Identifiers:
- libriVox ID: 223
Links and information:
Online Access
Download the Audio Book:
- File Name: o_southland_librivox
- File Format: zip
- Total Time: 00:09:03
- Download Link: Download link
Online Marketplaces
Find O Southland! at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
3Song My Paddle Sings
By E. Pauline Johnson

LibriVox’s weekly poetry project for the week of February 5, 2006 offers fourteen versions of "The Song My Paddle Sings" from the collection <i>Flint and Feather</i> by E. Pauline Johnson.<br /><br /> E. Pauline Johnson, also known as Tekahionwake, was born to the Mohawk Chief G.H.M. Johnson (Onwanonsyshon), and his wife, Emily S. Howells, a lady of pure English parentage. Pauline, born and raised in Canada, was a great reader and began writing poetry as a child. She died in 1913 after having poetry published in periodicals in several countries and collections of her work published in book form. (Summary adapted from the "Biographical Sketch" included in the Gutenberg text.)
“Song My Paddle Sings” Metadata:
- Title: Song My Paddle Sings
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1893
Edition Specifications:
- Format: Audio
- Number of Sections: 14
- Total Time: 0:37:55
Edition Identifiers:
- libriVox ID: 410
Links and information:
Online Access
Download the Audio Book:
- File Name: my_paddle_librivox
- File Format: zip
- Total Time: 0:37:55
- Download Link: Download link
Online Marketplaces
Find Song My Paddle Sings at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
4Plan and Preface to a Dictionary of the English Language
By Samuel Johnson

The published dictionary was a huge book: with pages nearly 1½ feet tall and 20 inches wide, it contained 42,773 words; it also sold for the huge price of £4/10s. ($400?). It would be years before "Johnson's Dictionary", as it came to be known, would ever turn a profit; authors' royalties being unknown at that time, Johnson, once his contract to deliver the book was fulfilled, received no further monies connected to the book.<br><br> Johnson, once again a freelance writer, albeit now a famous one, faced a grim hand-to-mouth existence; however, in July 1762 the twenty-four year old King George III granted Johnson an annual pension of £300. While not making Johnson rich, it allowed him a modest yet comfortable independence for the remaining thirty years of his life. (Summary from Wikipedia).
“Plan and Preface to a Dictionary of the English Language” Metadata:
- Title: ➤ Plan and Preface to a Dictionary of the English Language
- Author: Samuel Johnson
- Language: English
- Publish Date: 1755
Edition Specifications:
- Format: Audio
- Number of Sections: 4
- Total Time: 2:22:26
Edition Identifiers:
- libriVox ID: 1029
Links and information:
Online Access
Download the Audio Book:
- File Name: plan_and_preface_to_a_dictionary_librivox
- File Format: zip
- Total Time: 2:22:26
- Download Link: Download link
Online Marketplaces
Find Plan and Preface to a Dictionary of the English Language at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
5When Mother Lets Us Cook
By Constance Johnson
A book of simple receipts for little folk with important cooking rules in rhyme together with handy lists of the materials and utensils needed for the preparation of each dish. (Summary from the text)
“When Mother Lets Us Cook” Metadata:
- Title: When Mother Lets Us Cook
- Author: Constance Johnson
- Language: English
- Publish Date: 1916
Edition Specifications:
- Format: Audio
- Number of Sections: 4
- Total Time: 1:21:41
Edition Identifiers:
- libriVox ID: 2385
Links and information:
Online Access
Download the Audio Book:
- File Name: mother_lets_us_cook_0807
- File Format: zip
- Total Time: 1:21:41
- Download Link: Download link
Online Marketplaces
Find When Mother Lets Us Cook at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
6Rasselas, Prince of Abyssinia
By Samuel Johnson

In this enchanting fable (subtitled The Choice of Life), Rasselas and his retinue burrow their way out of the totalitarian paradise of the Happy Valley in search of that triad of eighteenth-century aspiration - life, liberty and happiness.<br><br/>According to that quirky authority, James Boswell, Johnson penned his only work of prose fiction in a handful of days to cover the cost of his mother's funeral. The stylistic elegance of the book and its wide-ranging philosophical concerns give no hint of haste or superficiality. <br><br/> Among other still burning issues Johnson's characters pursue questions of education, colonialism, the nature of the soul and even climate alteration. <br> Johnson's profoundest concern, however, is with the alternating attractions of solitude and social participation, seen not only as the ultimate life-choice but as the arena in which are played out the deepest fears of the individual: "Of the uncertainties of our present state, the most dreadful and alarming is the uncertain continuance of Reason.” (Summary by Martin Geeson)
“Rasselas, Prince of Abyssinia” Metadata:
- Title: Rasselas, Prince of Abyssinia
- Author: Samuel Johnson
- Language: English
- Publish Date: 1759
Edition Specifications:
- Format: Audio
- Number of Sections: 17
- Total Time: 5:30:43
Edition Identifiers:
- libriVox ID: 3549
Links and information:
Online Access
Download the Audio Book:
- File Name: rasselas_prince_abyssinia_0909_librivox
- File Format: zip
- Total Time: 5:30:43
- Download Link: Download link
Online Marketplaces
Find Rasselas, Prince of Abyssinia at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
7General History of the Pyrates
By Captain Charles Johnson
A General History of the Robberies and Murders of the most notorious Pyrates is a 1724 book containing biographies of contemporary pirates. It's author uses the name Captain Charles Johnson, generally considered a pseudonym.<br /><br /> The real identity of the author was thought by some scholars to be Daniel Defoe, although this has since been disputed. The publisher Nathaniel Mist or somebody working for him are other suggested authors.<br /><br /> In the first volume, "Johnson" sticks fairly close to the available sources, though he embellishes the stories somewhat. Nevertheless, the book was influential in shaping popular notions of piracy and provided the standard account of the lives of many individuals still famous in the 21st century.(Summary by Wikipedia)
“General History of the Pyrates” Metadata:
- Title: General History of the Pyrates
- Author: Captain Charles Johnson
- Language: English
- Publish Date: 1724
Edition Specifications:
- Format: Audio
- Number of Sections: 42
- Total Time: 12:47:04
Edition Identifiers:
- libriVox ID: 3646
Links and information:
Online Access
Download the Audio Book:
- File Name: history_of_pyrates_1010_librivox
- File Format: zip
- Total Time: 12:47:04
- Download Link: Download link
Online Marketplaces
Find General History of the Pyrates at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
8Farmer's Boy
By Clifton Johnson
A year in the life of a New England farm boy at the end of the 19th century (Introduction by LC)
“Farmer's Boy” Metadata:
- Title: Farmer's Boy
- Author: Clifton Johnson
- Language: English
- Publish Date: 1894
Edition Specifications:
- Format: Audio
- Number of Sections: 5
- Total Time: 2:28:29
Edition Identifiers:
- libriVox ID: 4372
Links and information:
- LibriVox Link: LibriVox
- Text Source: Kellscraft
- Number of Sections: 5 sections
Online Access
Download the Audio Book:
- File Name: farmers_boy_1109_librivox
- File Format: zip
- Total Time: 2:28:29
- Download Link: Download link
Online Marketplaces
Find Farmer's Boy at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
9Train Dogs
By E. Pauline Johnson

LibriVox volunteers bring you 18 recordings of The Train Dogs by E. Pauline Johnson. This was the Weekly Poetry project for February 6th, 2011.<br><br>Emily Pauline Johnson (Mohawk: Tekahionwake –pronounced: dageh-eeon-wageh, literally: 'double-life')(10 March 1861 – 7 March 1913), commonly known as E. Pauline Johnson or just Pauline Johnson, was a Canadian writer and performer popular in the late 19th century. Johnson was notable for her poems and performances that celebrated her First Nations heritage; she also had half English ancestry. One such poem is the frequently anthologized "The Song My Paddle Sings". Her poetry was published in Canada, the United States and Great Britain. Johnson was one of a generation of widely read writers who began to define a Canadian literature.
“Train Dogs” Metadata:
- Title: Train Dogs
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 18
- Total Time: 0:22:30
Edition Identifiers:
- libriVox ID: 5200
Links and information:
Online Access
Download the Audio Book:
- File Name: train_dogs_1102_librivox
- File Format: zip
- Total Time: 0:22:30
- Download Link: Download link
Online Marketplaces
Find Train Dogs at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
10Sunset in the Tropics
By James Weldon Johnson

LibriVox volunteers bring you 14 recordings of "Sunset in the Tropics." This is the Weekly Poetry for the week of August 10, 2014.<br><br>The author of this poem, James Weldon Johnson, served as U. S. Consul to Venezuela and Nicaragua, was an early leader in the NAACP and contributed to the Harlem Renaissance of the 1920s. He had a broad appreciation for black artists, musicians and writers, and worked to heighten awareness of their creativity. (from Wikipedia)
“Sunset in the Tropics” Metadata:
- Title: Sunset in the Tropics
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 14
- Total Time: 00:17:26
Edition Identifiers:
- libriVox ID: 5402
Links and information:
Online Access
Download the Audio Book:
- File Name: sunsetinthetropics_1408,poem_librivox
- File Format: zip
- Total Time: 00:17:26
- Download Link: Download link
Online Marketplaces
Find Sunset in the Tropics at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
11Roman Collar Detective
By Grace Johnson and Harold Johnson
A shot penetrates the still night air and one of Galton's leading citizens is a victim of a desperate killer's gun. Murder becomes entangled with politics and it takes a parish priest to discover "whodunit" in this thriller by a husband and wife novelist team. (Summary taken from original jacket blurb.)
“Roman Collar Detective” Metadata:
- Title: Roman Collar Detective
- Authors: Grace JohnsonHarold Johnson
- Language: English
- Publish Date: 1953
Edition Specifications:
- Format: Audio
- Number of Sections: 17
- Total Time: 4:14:00
Edition Identifiers:
- libriVox ID: 5576
Links and information:
- LibriVox Link: LibriVox
- Number of Sections: 17 sections
Online Access
Download the Audio Book:
- File Name: romancollardetective_mt_librivox
- File Format: zip
- Total Time: 4:14:00
- Download Link: Download link
Online Marketplaces
Find Roman Collar Detective at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
12Broken Rosary
By Grace Johnson and Harold Johnson
County Prosecutor Wally Brighton was found shot to death one evening, a broken rosary in one hand and a .32 automatic inches away from the other. Was it murder or suicide? It takes two sharp-eyed reporters, who combine romance with amateur sleuthing, to find the surprising solution to this baffling and thrilling murder mystery. (Summary from an original jacket)
“Broken Rosary” Metadata:
- Title: Broken Rosary
- Authors: Grace JohnsonHarold Johnson
- Language: English
- Publish Date: 1959
Edition Specifications:
- Format: Audio
- Number of Sections: 18
- Total Time: 4:10:31
Edition Identifiers:
- libriVox ID: 6069
Links and information:
Online Access
Download the Audio Book:
- File Name: brokenrosary_mt_librivox
- File Format: zip
- Total Time: 4:10:31
- Download Link: Download link
Online Marketplaces
Find Broken Rosary at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
13Cry From An Indian Wife
By E. Pauline Johnson

LibriVox volunteers bring you 13 recordings of A Cry From an Indian Wife by E. Pauline Johnson,. This was the Fortnightly Poetry project for January 29, 2012.<br><br>In 1892 the opportunity of a lifetime came to this young versifier, when Frank Yeigh, the president of the Young Liberals' Club, of Toronto, conceived the idea of having an evening of Canadian literature, at which all available Canadian authors should be guests and read from their own works.<br><br>Among the authors present on this occasion was Pauline Johnson, who contributed to the programme one of her compositions, entitled "A Cry from an Indian Wife"; and when she recited without text this much-discussed poem, which shows the Indian's side of the North-West Rebellion, she was greeted with tremendous applause from an audience which represented the best of Toronto's art, literature and culture. She was the only one on the programme who received an encore, and to this she replied with one of her favourite canoeing poems.<br><br>The following morning the entire press of Toronto asked why this young writer was not on the platform as a professional reader; while two of the dailies even contained editorials on the subject, inquiring why she had never published a volume of her poems, and insisted so strongly that the public should hear more of her, that Mr. Frank Yeigh arranged for her to give an entire evening in Association Hall within two weeks from the date of her first appearance. It was for this first recital that she wrote the poem by which she is best known, "The Song my Paddle Sings."<br>( Summary from the Biographical Sketch included in Flint And Feather, collected verse by E. Pauline Johnson )
“Cry From An Indian Wife” Metadata:
- Title: Cry From An Indian Wife
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1895
Edition Specifications:
- Format: Audio
- Number of Sections: 13
- Total Time: 0:53:13
Edition Identifiers:
- libriVox ID: 6315
Links and information:
Online Access
Download the Audio Book:
- File Name: cry_indianwife_1202_librivox
- File Format: zip
- Total Time: 0:53:13
- Download Link: Download link
Online Marketplaces
Find Cry From An Indian Wife at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
14Indian Corn Planter
By E. Pauline Johnson

LibriVox volunteers bring you 13 recordings of The Indian Corn Planter by E. Pauline Johnson. This was the Weekly Poetry project for April 29, 2012.<br><br><i>"But in the writings of one poet alone I came upon a new note—the note of the Red Man's Canada. This was the poet that most interested me—Pauline Johnson. I quoted her lovely canoe song "In the Shadows," which will be found in this volume. I at once sat down and wrote a long article, which could have been ten times as long, upon a subject so suggestive as that of Canadian poetry."</i> (From the Introduction to Flint and Feather, Collected Verse BY E. Pauline Johnson; written by Theodore Watts-Dunton, The Pines, Putney Hill. 20th August, 1913.
“Indian Corn Planter” Metadata:
- Title: Indian Corn Planter
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 13
- Total Time: 0:16:44
Edition Identifiers:
- libriVox ID: 6626
Links and information:
Online Access
Download the Audio Book:
- File Name: indian_cornplanter_1205_librivox
- File Format: zip
- Total Time: 0:16:44
- Download Link: Download link
Online Marketplaces
Find Indian Corn Planter at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
15Fire - Flowers
By E. Pauline Johnson

LibriVox volunteers bring you 17 recordings of Fire - Flowers by E. Pauline Johnson. This was the Fortnightly Poetry project for August 18, 2013.<br><br>Fire-Flowers is taken from the book, Flint and Feather: Collected Verse by E. Pauline Johnson. (Summary by David Lawrence)
“Fire - Flowers” Metadata:
- Title: Fire - Flowers
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 0
Edition Specifications:
- Format: Audio
- Number of Sections: 17
- Total Time: 00:16:03
Edition Identifiers:
- libriVox ID: 8110
Links and information:
Online Access
Download the Audio Book:
- File Name: fireflowers_1309,poem_librivox
- File Format: zip
- Total Time: 00:16:03
- Download Link: Download link
Online Marketplaces
Find Fire - Flowers at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
16Word of an Engineer
By James Weldon Johnson

James Weldon Johnson was an American author, educator, lawyer, diplomat, songwriter, and civil rights activist. Johnson is best remembered for his leadership within the National Association for the Advancement of Colored People (NAACP), where he started working in 1917, being chosen as the first black executive secretary of the organization, effectively the operating officer. He was first known for his writing, which includes poems, novels, and anthologies collecting both poems and spirituals of black culture. (Summary from Wikipedia)
“Word of an Engineer” Metadata:
- Title: Word of an Engineer
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 20
- Total Time: 00:17:12
Edition Identifiers:
- libriVox ID: 8755
Links and information:
Online Access
Download the Audio Book:
- File Name: wordofengineer_1403,poem_librivox
- File Format: zip
- Total Time: 00:17:12
- Download Link: Download link
Online Marketplaces
Find Word of an Engineer at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
17Morning, Noon and Night
By James Weldon Johnson

LibriVox volunteers bring you 14 readings of Morning, Noon and Night by James Weldon Johnson. This was the weekly poetry project for the week of September 14th, 2014.<br /><br />James Weldon Johnson served as U. S. Consul to Venezuela and Nicaragua, was an early leader in the NAACP and contributed to the Harlem Renaissance of the 1920s. He had a broad appreciation for black artists, musicians and writers, and worked to heighten awareness of their creativity. (from Wikipedia)
“Morning, Noon and Night” Metadata:
- Title: Morning, Noon and Night
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 14
- Total Time: 00:19:37
Edition Identifiers:
- libriVox ID: 9192
Links and information:
Online Access
Download the Audio Book:
- File Name: morningnoonandnight_1409,poem_librivox
- File Format: zip
- Total Time: 00:19:37
- Download Link: Download link
Online Marketplaces
Find Morning, Noon and Night at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
18Selected Essays of Samuel Johnson
By Samuel Johnson and Stuart Johnson Reid
This is a volume of selected essays by "the great master of reason" Samuel Johnson. The most famous exerpts from The Rambler, The Adventurer and The Idler are included, covering a vast range of topics. - Summary by Carolin
“Selected Essays of Samuel Johnson” Metadata:
- Title: ➤ Selected Essays of Samuel Johnson
- Authors: Samuel JohnsonStuart Johnson Reid
- Language: English
- Publish Date: 1888
Edition Specifications:
- Format: Audio
- Number of Sections: 69
- Total Time: 13:12:21
Edition Identifiers:
- libriVox ID: 9724
Links and information:
- LibriVox Link: LibriVox
- Text Source: Org/details/essayssamueljoh00reidgoog
- Number of Sections: 69 sections
Online Access
Download the Audio Book:
- File Name: selected_essays_of_samuel_johnson_1509_librivox
- File Format: zip
- Total Time: 13:12:21
- Download Link: Download link
Online Marketplaces
Find Selected Essays of Samuel Johnson at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
19Deep In The Quiet Wood
By James Weldon Johnson

James Weldon Johnson was an American author, educator, lawyer, diplomat, songwriter, and civil rights activist. Johnson is best remembered for his leadership of the National Association for the Advancement of Colored People (NAACP), where he started working in 1917. In 1920 he was the first black to be chosen as executive secretary of the organization, effectively the operating officer. He served in that position from 1920 to 1930. Johnson established his reputation as a writer, and was known during the Harlem Renaissance for his poems, novels, and anthologies collecting both poems and spirituals of black culture.
“Deep In The Quiet Wood” Metadata:
- Title: Deep In The Quiet Wood
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 16
- Total Time: 00:21:30
Edition Identifiers:
- libriVox ID: 9785
Links and information:
Online Access
Download the Audio Book:
- File Name: deep_in_the_quiet_wood_1504,poem_librivox
- File Format: zip
- Total Time: 00:21:30
- Download Link: Download link
Online Marketplaces
Find Deep In The Quiet Wood at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
20Sonnet (From the Spanish of Plácido)
By James Weldon Johnson

James Weldon Johnson was an American author, educator, lawyer, diplomat, songwriter, and civil rights activist. Johnson is best remembered for his leadership of the National Association for the Advancement of Colored People (NAACP), where he started working in 1917. In 1920 he was the first black to be chosen as executive secretary of the organization, effectively the operating officer. - Summary by Wikipedia
“Sonnet (From the Spanish of Plácido)” Metadata:
- Title: ➤ Sonnet (From the Spanish of Plácido)
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 20
- Total Time: 00:13:46
Edition Identifiers:
- libriVox ID: 9858
Links and information:
Online Access
Download the Audio Book:
- File Name: sonnet_from_the_spanish_of_placido_1505,poem_librivox
- File Format: zip
- Total Time: 00:13:46
- Download Link: Download link
Online Marketplaces
Find Sonnet (From the Spanish of Plácido) at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
21Autobiography of an Ex-Colored Man (version 2)
By James Weldon Johnson

The story of a biracial man living in the deep south after the reconstruction era. He is young and talented. Yet, in order for him to avoid stigma, he has to pass as white. But would his sense of belonging and solidarity to the black community of the time catch up with him at the end? "It is very likely that the Negroes of the United States have a fairly correct idea of what the white people of the country think of them, for that opinion has for a long time been and is still being constantly stated; but they are themselves more or less a sphinx to the whites. It is curiously interesting and even vitally important to know what are the thoughts of ten millions of them concerning the people among whom they live. In these pages it is as though a veil had been drawn aside: the reader is given a view of the inner life of the Negro in America, is initiated into the "freemasonry," as it were, of the race. These pages also reveal the unsuspected fact that prejudice against the Negro is exerting a pressure which, in New York and other large cities where the opportunity is open, is actually and constantly forcing an unascertainable number of fair-complexioned colored people over into the white race. In this book the reader is given a glimpse behind the scenes of this race-drama which is being here enacted,—he is taken upon an elevation where he can catch a bird's-eye view of the conflict which is being waged." (from the preface by the publisher and Stav Nisser.)
“Autobiography of an Ex-Colored Man (version 2)” Metadata:
- Title: ➤ Autobiography of an Ex-Colored Man (version 2)
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 12
- Total Time: 04:46:35
Edition Identifiers:
- libriVox ID: 9908
Links and information:
Online Access
Download the Audio Book:
- File Name: autobiographyofanexcoloredmanversion_2_1607_librivox
- File Format: zip
- Total Time: 04:46:35
- Download Link: Download link
Online Marketplaces
Find Autobiography of an Ex-Colored Man (version 2) at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
22Autobiography of an Ex-Colored Man
By James Weldon Johnson

Johnson's only novel, <i>The Autobiography of an Ex-Colored Man</i>, was originally published anonymously in 1912. It is a fictional novel written as a memoir of an unnamed biracial narrator who grew up in the South during the Reconstruction and post-Reconstruction eras. It is a story in which the narrator relates how as a young boy he initially assumed that he was white, and how his notions of racial identity were suddenly turned upside down one day—how from that moment on he was inclined to view himself and the world about him from the perspective of blackness. The novel received very little notoriety until Johnson republished it in 1927, this time taking full credit as its author. - Summary by James K. White
“Autobiography of an Ex-Colored Man” Metadata:
- Title: ➤ Autobiography of an Ex-Colored Man
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1912
Edition Specifications:
- Format: Audio
- Number of Sections: 11
- Total Time: 05:05:12
Edition Identifiers:
- libriVox ID: 9930
Links and information:
Online Access
Download the Audio Book:
- File Name: autobiography_ex-coloredman_1506_librivox
- File Format: zip
- Total Time: 05:05:12
- Download Link: Download link
Online Marketplaces
Find Autobiography of an Ex-Colored Man at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
23Camper
By E. Pauline Johnson

It is eminently fitting that this daughter of Nature should have been laid to rest in no urban cemetery. According to her own request she was buried in Stanley Park, Vancouver's beautiful heritage of the forest primeval. A simple stone surrounded by rustic palings marks her grave and on this stone is carved the one word "Pauline." There she lies among ferns and wild flowers a short distance from Siwash Rock, the story of which she has recorded in the legends of her race. In time to come a pathway to her grave will be worn by lovers of Canadian poetry who will regard it as one of the most romantic of our literary shrines. (from the Biographical Sketch in Flint and Feather: Collected Verse by E. Pauline Johnson)
“Camper” Metadata:
- Title: Camper
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 12
- Total Time: 00:14:18
Edition Identifiers:
- libriVox ID: 10528
Links and information:
Online Access
Download the Audio Book:
- File Name: camper_1601,poem_librivox
- File Format: zip
- Total Time: 00:14:18
- Download Link: Download link
Online Marketplaces
Find Camper at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
24Homing Bee
By E. Pauline Johnson

It is eminently fitting that this daughter of Nature should have been laid to rest in no urban cemetery. According to her own request she was buried in Stanley Park, Vancouver's beautiful heritage of the forest primeval. A simple stone surrounded by rustic palings marks her grave and on this stone is carved the one word "Pauline." There she lies among ferns and wild flowers a short distance from Siwash Rock, the story of which she has recorded in the legends of her race. In time to come a pathway to her grave will be worn by lovers of Canadian poetry who will regard it as one of the most romantic of our literary shrines. (from the Biographical Sketch in the Flint and Feather collection)
“Homing Bee” Metadata:
- Title: Homing Bee
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 11
- Total Time: 00:13:19
Edition Identifiers:
- libriVox ID: 10862
Links and information:
Online Access
Download the Audio Book:
- File Name: the_homing_bee_1605,poem_librivox
- File Format: zip
- Total Time: 00:13:19
- Download Link: Download link
Online Marketplaces
Find Homing Bee at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
25Erie Waters
By E. Pauline Johnson

"Her death is not only a great loss to those who knew and loved her: it is a great loss to Canadian literature and to the Canadian nation. I must think that she will hold a memorable place among poets in virtue of her descent and also in virtue of the work she has left behind, small as the quantity of that work is. I believe that Canada will, in future times, cherish her memory more and more, for of all Canadian poets she was the most distinctly a daughter of the soil, inasmuch as she inherited the blood of the great primeval race now so rapidly vanishing, and of the greater race that has supplanted it." (Theodore Watts-Dunton, from the Introduction to Flint and Feather)
“Erie Waters” Metadata:
- Title: Erie Waters
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 10
- Total Time: 00:13:14
Edition Identifiers:
- libriVox ID: 11231
Links and information:
Online Access
Download the Audio Book:
- File Name: erie_waters_1608,poem_librivox
- File Format: zip
- Total Time: 00:13:14
- Download Link: Download link
Online Marketplaces
Find Erie Waters at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
26Famous Assassinations Of History
By Francis Johnson

It has been the object of the writer to make each of these “famous assassinations” the central scene of a picture in which the political, religious, or national features of the epoch in which the assassination occurred are portrayed with historical fidelity and strict impartiality…. Only those assassinations have been included which either had an important and political bearing on the world, or on the nation immediately affected, or which left a profound, and, it would seem, indelible impression on the imagination of contemporaries and posterity. - Summary by Book Preface
“Famous Assassinations Of History” Metadata:
- Title: ➤ Famous Assassinations Of History
- Author: Francis Johnson
- Language: English
- Publish Date: 1903
Edition Specifications:
- Format: Audio
- Number of Sections: 26
- Total Time: 11:09:37
Edition Identifiers:
- libriVox ID: 11319
Links and information:
Online Access
Download the Audio Book:
- File Name: famous_assassinations_1612_librivox
- File Format: zip
- Total Time: 11:09:37
- Download Link: Download link
Online Marketplaces
Find Famous Assassinations Of History at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
27Book of Fairy-Tale Foxes
By Clifton Johnson
Wild animals play a big role in many fairy tales, and foxes are some of the best-represented animals in folklore. In this volume, Clifton Johnson has collected stories about foxes from all over the world, adapted for children as bedtime fairy tales. - Summary by Carolin
“Book of Fairy-Tale Foxes” Metadata:
- Title: Book of Fairy-Tale Foxes
- Author: Clifton Johnson
- Language: English
- Publish Date: 1914
Edition Specifications:
- Format: Audio
- Number of Sections: 25
- Total Time: 02:32:09
Edition Identifiers:
- libriVox ID: 11670
Links and information:
- LibriVox Link: LibriVox
- Text Source: Org/details/bookoffairytalef00john
- Number of Sections: 25 sections
Online Access
Download the Audio Book:
- File Name: fairy-tale_foxes_1704_librivox
- File Format: zip
- Total Time: 02:32:09
- Download Link: Download link
Online Marketplaces
Find Book of Fairy-Tale Foxes at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
28Book of Fairy-Tale Bears
By Clifton Johnson
Bears make an appearance in so many fairy tales and fables, it is difficult to imagine a fairy-tale world without them. However, in most of those fairy tales, the bear is just a side-character. In this volume, Clifton Johnson has collected 18 stories in which the bear takes a lead role. - Summary by Carolin
“Book of Fairy-Tale Bears” Metadata:
- Title: Book of Fairy-Tale Bears
- Author: Clifton Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 18
- Total Time: 02:12:46
Edition Identifiers:
- libriVox ID: 11961
Links and information:
- LibriVox Link: LibriVox
- Text Source: Org/details/bookoffairytaleb00john
- Number of Sections: 18 sections
Online Access
Download the Audio Book:
- File Name: book_of_fairy-tale_bears_1706_librivox
- File Format: zip
- Total Time: 02:12:46
- Download Link: Download link
Online Marketplaces
Find Book of Fairy-Tale Bears at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
29Fifty Years & Other Poems
By James Weldon Johnson

This is a collection of poems by James Weldon Johnson. Johnson was an early civil rights activist, and this theme is the basis for many of the poems in this collection as well. This volume also contains an introduction by Brander Matthews.The first half of this volume contains poems in classical style and form, the second half of this collection is a set of "Jingles & Croons". - Summary by Carolin
“Fifty Years & Other Poems” Metadata:
- Title: Fifty Years & Other Poems
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 60
- Total Time: 02:11:52
Edition Identifiers:
- libriVox ID: 12480
Links and information:
Online Access
Download the Audio Book:
- File Name: fifty_years_1801_librivox
- File Format: zip
- Total Time: 02:11:52
- Download Link: Download link
Online Marketplaces
Find Fifty Years & Other Poems at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
30Book of American Negro Poetry
By Otto Leland Bohanan, William Stanley Braithwaite, Benjamin Griffith Brawley, James Edwin Campbell, Waverly Turner Carmichael, James David Corrothers, Joseph S. Cotter, Jr., Ray G. Dandridge, Daniel Webster Davis, R. Nathaniel Dett, W. E. B. Du Bois, Paul Laurence Dunbar, Alice Dunbar Nelson, Jessie R. Fauset, Leslie Pinckney Hill, John Wesley Holloway, Roscoe C. Jamison, Charles Bertram Johnson, Georgia Douglas Johnson, James Weldon Johnson, Fenton Johnson, Edward Smyth Jones, Joshua Henry Jones, Jr., George Reginald Margetson, George Marion McClellan, Claude McKay, William H. A. Moore, Alex Rogers, Theodore Henry Shackelford, Anne Spencer and Lucian B. Watkins

The Book of American Negro Poetry is one of the earliest and most essential anthologies of African-American verse ever brought to print. Edited by writer and diplomat James Weldon Johnson, this collection was published with the hope of bringing to the public a greater awareness of the art and literature created by Black writers. This is the first edition of this long-republished anthology and collects seminal works by Paul Dunbar, W.E.B. Du Bois, Claude McKay, Leslie Hill, James Corrothers, and many more. - Summary by ChuckW
“Book of American Negro Poetry” Metadata:
- Title: Book of American Negro Poetry
- Authors: ➤ Otto Leland BohananWilliam Stanley BraithwaiteBenjamin Griffith BrawleyJames Edwin CampbellWaverly Turner CarmichaelJames David CorrothersJoseph S. Cotter, Jr.Ray G. DandridgeDaniel Webster DavisR. Nathaniel DettW. E. B. Du BoisPaul Laurence DunbarAlice Dunbar NelsonJessie R. FausetLeslie Pinckney HillJohn Wesley HollowayRoscoe C. JamisonCharles Bertram JohnsonGeorgia Douglas JohnsonJames Weldon JohnsonFenton JohnsonEdward Smyth JonesJoshua Henry Jones, Jr.George Reginald MargetsonGeorge Marion McClellanClaude McKayWilliam H. A. MooreAlex RogersTheodore Henry ShackelfordAnne SpencerLucian B. Watkins
- Language: English
- Publish Date: 1922
Edition Specifications:
- Format: Audio
- Number of Sections: 35
- Total Time: 05:04:56
Edition Identifiers:
- libriVox ID: 13135
Links and information:
Online Access
Download the Audio Book:
- File Name: american_negro_poetry_1811_librivox
- File Format: zip
- Total Time: 05:04:56
- Download Link: Download link
Online Marketplaces
Find Book of American Negro Poetry at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
31State of the Union Addresses by United States Presidents (1861 - 1868)
By Andrew Johnson and Abraham Lincoln

The State of the Union address is a speech presented by the President of the United States to a joint session of the United States Congress, typically delivered annually. The address not only reports on the condition of the nation but also allows the President to outline his legislative agenda (for which he needs the cooperation of Congress) and national priorities. This album contains recordings of addresses from Abraham Lincoln and Andrew Johnson. - Summary by Wikipedia and Linette Geisel
“State of the Union Addresses by United States Presidents (1861 - 1868)” Metadata:
- Title: ➤ State of the Union Addresses by United States Presidents (1861 - 1868)
- Authors: Andrew JohnsonAbraham Lincoln
- Language: English
- Publish Date: 0
Edition Specifications:
- Format: Audio
- Number of Sections: 11
- Total Time: 08:26:09
Edition Identifiers:
- libriVox ID: 13411
Links and information:
Online Access
Download the Audio Book:
- File Name: stateoftheunionaddresses_1861-1868_1902_librivox
- File Format: zip
- Total Time: 08:26:09
- Download Link: Download link
Online Marketplaces
Find State of the Union Addresses by United States Presidents (1861 - 1868) at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
32Great Events by Famous Historians, Volume 01
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 1 of 22, covering from 5867 to 480 BC. - Summary from Title Page
“Great Events by Famous Historians, Volume 01” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 01
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 38
- Total Time: 17:53:48
Edition Identifiers:
- libriVox ID: 13563
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_famous_historians_1_1904_librivox
- File Format: zip
- Total Time: 17:53:48
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 01 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
33Great Events by Famous Historians, Volume 09
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 9 of 22, covering from 1517-1556 AD . - Summary Adapted from the Title Page
“Great Events by Famous Historians, Volume 09” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 09
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 35
- Total Time: 18:04:23
Edition Identifiers:
- libriVox ID: 13645
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_volume_9_2207_librivox
- File Format: zip
- Total Time: 18:04:23
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 09 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
34Great Events by Famous Historians, Volume 02
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 2 of 22, covering from 450 BC to 12 AD. - Summary by Title Page
“Great Events by Famous Historians, Volume 02” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 02
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 39
- Total Time: 18:55:24
Edition Identifiers:
- libriVox ID: 13666
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_famous_historians_2_1908_librivox
- File Format: zip
- Total Time: 18:55:24
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 02 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
35Fir-Tree Fairy Book
By Clifton Johnson
In this volume, Clifton Johnson has compiled his favourite fairy tales. We hear a lot of animals, because fairy tales with animals in them are Mr. Johnson's favourite stories, but we also hear of fairies, of wizards, and princesses. The stories are sometimes taken from the famous volumes of the Brothers Grimm or from Anderson, but a lot of them are based on folklore and stories from around the world. - Summary by Carolin
“Fir-Tree Fairy Book” Metadata:
- Title: Fir-Tree Fairy Book
- Author: Clifton Johnson
- Language: English
- Publish Date: 1912
Edition Specifications:
- Format: Audio
- Number of Sections: 41
- Total Time: 06:44:14
Edition Identifiers:
- libriVox ID: 13735
Links and information:
- LibriVox Link: LibriVox
- Text Source: Org/details/firtreefairybook00john
- Number of Sections: 41 sections
Online Access
Download the Audio Book:
- File Name: firtree_fairybook_1908_librivox
- File Format: zip
- Total Time: 06:44:14
- Download Link: Download link
Online Marketplaces
Find Fir-Tree Fairy Book at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
36Journey to the Western Isles of Scotland
By Samuel Johnson

Samuel Johnson’s wit and tongue-in-cheek expressions make this record of the economy, education and politicks [sic] of remote settlements an entertaining pleasure. Johnson describes the primary produce, orders of precedence, and the politics of Scotland. Johnson’s data is collected by both his observations and his inquiry. - Summary by Chris Greaves
“Journey to the Western Isles of Scotland” Metadata:
- Title: ➤ Journey to the Western Isles of Scotland
- Author: Samuel Johnson
- Language: English
- Publish Date: 1775
Edition Specifications:
- Format: Audio
- Number of Sections: 27
- Total Time: 06:56:54
Edition Identifiers:
- libriVox ID: 13859
Links and information:
Online Access
Download the Audio Book:
- File Name: journey_westernisles_scotland_2203_librivox
- File Format: zip
- Total Time: 06:56:54
- Download Link: Download link
Online Marketplaces
Find Journey to the Western Isles of Scotland at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
37Great Events by Famous Historians, Volume 03
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 3 of 22, covering from 13 to 395 AD. - Summary Adapted from the Title Page
“Great Events by Famous Historians, Volume 03” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 03
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 38
- Total Time: 18:26:50
Edition Identifiers:
- libriVox ID: 13917
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_v_3_2004_librivox
- File Format: zip
- Total Time: 18:26:50
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 03 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
38Amphibians and Reptiles in Captivity
By Robert N Bader, Donald J Coxwell and Thomas R. Johnson

In recent years the number of people interested in keeping amphibians and reptiles in captivity has grown rapidly. All too often, these same people have little knowledge of the proper care needed for their captives, nor do they know where to turn in order to learn the needs of their animals. It is the intent of the authors of this special issue to offer the proper information needed to successfully keep amphibians and reptiles in captivity. We are by no means THE experts on the subject, nor do we claim to cover all the facts. However, we do hope that enough information is furnished to answer most of the common questions asked by people. - Summary by Tom R. Johnson
“Amphibians and Reptiles in Captivity” Metadata:
- Title: ➤ Amphibians and Reptiles in Captivity
- Authors: Robert N BaderDonald J CoxwellThomas R. Johnson
- Language: English
- Publish Date: 1975
Edition Specifications:
- Format: Audio
- Number of Sections: 6
- Total Time: 00:54:54
Edition Identifiers:
- libriVox ID: 14007
Links and information:
Online Access
Download the Audio Book:
- File Name: amphibians_1910_librivox
- File Format: zip
- Total Time: 00:54:54
- Download Link: Download link
Online Marketplaces
Find Amphibians and Reptiles in Captivity at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
39Gift To Sing
By James Weldon Johnson

LibriVox volunteers bring you 20 recordings of The Gift To Sing by James Weldon Johnson.<br> This was the Weekly Poetry project for June 9, 2019. <br> ------<br> James Weldon Johnson was an American author, educator, lawyer, diplomat, songwriter, civil rights activist. He was married to civil rights activist Grace Nail Johnson. James Weldon Johnson is best remembered for his leadership of the National Association for the Advancement of Colored People (NAACP), where he started working in 1917. Johnson established his reputation as a writer, and was known during the Harlem Renaissance for his poems, novels, and anthologies collecting both poems and spirituals of black culture. - Summary by Wikipedia
“Gift To Sing” Metadata:
- Title: Gift To Sing
- Author: James Weldon Johnson
- Language: English
- Publish Date: 1917
Edition Specifications:
- Format: Audio
- Number of Sections: 20
- Total Time: 00:22:01
Edition Identifiers:
- libriVox ID: 14121
Links and information:
Online Access
Download the Audio Book:
- File Name: gift_to_sing_1906,poem_librivox
- File Format: zip
- Total Time: 00:22:01
- Download Link: Download link
Online Marketplaces
Find Gift To Sing at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
40Lifting Of The Mist
By E. Pauline Johnson

LibriVox volunteers bring you 16 recordings of The Lifting Of The Mist by E. Pauline Johnson.<br> This was the Weekly Poetry project for July 28, 2019. <br> ------<br> Her education was neither extensive nor elaborate, and embraced neither High School nor College. ... she acquired a wide general knowledge, having been, through childhood and early girlhood, a great reader, especially of poetry. Before she was twelve years old she had read every line of Scott's poems, every line of Longfellow, much of Byron, Shakespeare, and such books as Addison's "Spectator," Foster's Essays and Owen Meredith. (from the Biographical Sketch in Flint and Feather, Collected Verse By E. Pauline Johnson)
“Lifting Of The Mist” Metadata:
- Title: Lifting Of The Mist
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 0
Edition Specifications:
- Format: Audio
- Number of Sections: 16
- Total Time: 00:24:57
Edition Identifiers:
- libriVox ID: 14254
Links and information:
Online Access
Download the Audio Book:
- File Name: lifting_of_the_mist_1908,poem_librivox
- File Format: zip
- Total Time: 00:24:57
- Download Link: Download link
Online Marketplaces
Find Lifting Of The Mist at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
41Woman and the Republic
By Helen Johnson

First published in 1897, the book is considered to be the best summary of the arguments against woman suffrage. It allows readers to understand better why opposing views towards women's suffrage were prevalent even among women themselves then. (Summary by Yuqing June)
“Woman and the Republic” Metadata:
- Title: Woman and the Republic
- Author: Helen Johnson
- Language: English
- Publish Date: 1897
Edition Specifications:
- Format: Audio
- Number of Sections: 20
- Total Time: 08:53:51
Edition Identifiers:
- libriVox ID: 14382
Links and information:
Online Access
Download the Audio Book:
- File Name: woman_and_the_republic_2103_librivox
- File Format: zip
- Total Time: 08:53:51
- Download Link: Download link
Online Marketplaces
Find Woman and the Republic at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
42Christmastide
By E. Pauline Johnson

LibriVox volunteers bring you 15 recordings of Christmastide by E. Pauline Johnson.<br> This was the Weekly Poetry project for December 15, 2019. <br> ------<br> Emily Pauline Johnson (also known in Mohawk as Tekahionwake –pronounced: dageh-eeon-wageh, literally: 'double-life') commonly known as E. Pauline Johnson or just Pauline Johnson, was a Canadian writer and performer popular in the late 19th century. - Summary by Wikipedia
“Christmastide” Metadata:
- Title: Christmastide
- Author: E. Pauline Johnson
- Language: English
- Publish Date: 1913
Edition Specifications:
- Format: Audio
- Number of Sections: 15
- Total Time: 00:23:00
Edition Identifiers:
- libriVox ID: 14624
Links and information:
Online Access
Download the Audio Book:
- File Name: christmastide_1912,poem_librivox
- File Format: zip
- Total Time: 00:23:00
- Download Link: Download link
Online Marketplaces
Find Christmastide at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
43Chronicles of America Volume 15 - Jefferson and his Colleagues
By Allen Johnson

In this volume, we have the Virginia Dynasty of presidents: Jefferson, Madison, and Monroe. America at this time was involved in expansion with the Louisiana Purchase and the annexation of the Floridas. Then too we were involved in international affairs especially with Tripoli, England (the War of 1812), and Spain. And all this led to the establishment of what has become known as the Monroe Doctrine. At the end of it all, America has become more thoroughly American. Of course, on the horizon as a consequence of The Missouri Compromise looms the controversy surrounding slavery. This is Volume 15 of the Chronicles of America Series.
“Chronicles of America Volume 15 - Jefferson and his Colleagues” Metadata:
- Title: ➤ Chronicles of America Volume 15 - Jefferson and his Colleagues
- Author: Allen Johnson
- Language: English
- Publish Date: 1921
Edition Specifications:
- Format: Audio
- Number of Sections: 15
- Total Time: 06:25:41
Edition Identifiers:
- libriVox ID: 14825
Links and information:
Online Access
Download the Audio Book:
- File Name: jefferson_and_his_colleagues_2004_librivox
- File Format: zip
- Total Time: 06:25:41
- Download Link: Download link
Online Marketplaces
Find Chronicles of America Volume 15 - Jefferson and his Colleagues at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
44Great Events by Famous Historians, Volume 04
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 4 of 22, covering from 410-827 AD. - Summary by Title Page
“Great Events by Famous Historians, Volume 04” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 04
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 36
- Total Time: 16:59:07
Edition Identifiers:
- libriVox ID: 14932
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_famous_historians_4_2007_librivox
- File Format: zip
- Total Time: 16:59:07
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 04 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
45Great Events by Famous Historians, Volume 07
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 7 of 22, covering from 1300-1438 AD . - Summary Adapted from the Title Page
“Great Events by Famous Historians, Volume 07” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 07
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 41
- Total Time: 16:38:27
Edition Identifiers:
- libriVox ID: 15013
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_volume_7_2108_librivox
- File Format: zip
- Total Time: 16:38:27
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 07 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
46Prayers and Meditations
By Samuel Johnson
The prayers and meditations of Samuel Johnson, published posthumously by George Strahan to whom Johnson had entrusted the manuscripts. Johnson had been writing these down for over forty years. They often show him at his most repentant, melancholy and fragile -- and the book was controversial because of it -- but they also show the goodness, sense and strength which has always characterised this great man. - Summary by Steven Watson
“Prayers and Meditations” Metadata:
- Title: Prayers and Meditations
- Author: Samuel Johnson
- Language: English
- Publish Date: 1785
Edition Specifications:
- Format: Audio
- Number of Sections: 23
- Total Time: 03:36:49
Edition Identifiers:
- libriVox ID: 15124
Links and information:
Online Access
Download the Audio Book:
- File Name: prayersandmeditations_2102_librivox
- File Format: zip
- Total Time: 03:36:49
- Download Link: Download link
Online Marketplaces
Find Prayers and Meditations at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
47Great Events by Famous Historians, Volume 05
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 5 of 22, covering from 843-1161 AD. - Summary Adapted from the Title Page
“Great Events by Famous Historians, Volume 05” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 05
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 36
- Total Time: 16:38:44
Edition Identifiers:
- libriVox ID: 15306
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_5_2101_librivox
- File Format: zip
- Total Time: 16:38:44
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 05 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
48Great Events by Famous Historians, Volume 06
By Charles F. Horne, Rossiter Johnson and John Rudd

A comprehensive and readable account of the world's history, emphasizing the more important events, and presenting these as complete narratives in the master-words of the most eminent historians. This is volume 6 of 22, covering from 1162-1300 AD. - Summary Adapted from the Title Page
“Great Events by Famous Historians, Volume 06” Metadata:
- Title: ➤ Great Events by Famous Historians, Volume 06
- Authors: Charles F. HorneRossiter JohnsonJohn Rudd
- Language: English
- Publish Date: 1905
Edition Specifications:
- Format: Audio
- Number of Sections: 40
- Total Time: 16:13:01
Edition Identifiers:
- libriVox ID: 15791
Links and information:
Online Access
Download the Audio Book:
- File Name: great_events_famous_historians_6_2104_librivox
- File Format: zip
- Total Time: 16:13:01
- Download Link: Download link
Online Marketplaces
Find Great Events by Famous Historians, Volume 06 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
49Editorials from The Dial magazine, Volume 66
By Martyn Johnson
Editorials published in Volume 66 of The Dial magazine, a fortnightly political and literary review. The source available to us features issues from January 11 to June 28, 1919. This volume illustrates the pacifist and socialist viewpoint of Martyn Johnson (the owner) and the magazine's staff. The magazine experience financial troubles in 1919 and was sold later that year. The magazine was re-directed by its new investors in a direction that was essentially literary in nature and it is this 're-creation' of the magazine that is best known. (Summary by KevinS)
“Editorials from The Dial magazine, Volume 66” Metadata:
- Title: ➤ Editorials from The Dial magazine, Volume 66
- Author: Martyn Johnson
- Language: English
- Publish Date: 1919
Edition Specifications:
- Format: Audio
- Number of Sections: 75
- Total Time: 04:18:51
Edition Identifiers:
- libriVox ID: 16107
Links and information:
- LibriVox Link: LibriVox
- Text Source: Org/details/dialjournallitcrit66chicrich/page/n13/mode/1up
- Wikipedia Link: Wikipedia
- Number of Sections: 75 sections
Online Access
Download the Audio Book:
- File Name: dialeditorialsvol66_2102_librivox
- File Format: zip
- Total Time: 04:18:51
- Download Link: Download link
Online Marketplaces
Find Editorials from The Dial magazine, Volume 66 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
50Fundamentals Volume 2
By Sir Robert Anderson, Franklin Johnson, Melvin Grove Kyle, Philip Mauro, Handley Carr Glyn Moule and George Frederick Wright
The Fundamentals: A Testimony To The Truth (generally referred to simply as The Fundamentals) is a set of ninety essays published between 1910 and 1915 by the Testimony Publishing Company of Chicago. According to its foreword, the publication was designed to be "a new statement of the fundamentals of Christianity." However, its contents reflect a concern with certain theological innovations related to liberal Christianity, especially biblical higher criticism. It is widely considered to be the foundation of modern Christian fundamentalism. The essays were written by sixty-four different authors, representing most of the major Protestant Christian denominations. It was mailed free of charge to ministers, missionaries, professors of theology, YMCA and YWCA secretaries, Sunday school superintendents, and other Protestant religious workers in the United States and other English-speaking countries. Over three million volumes (250,000 sets) were sent out. (Summary from Wikipedia)<br><br><strong>Books in this series:</strong><br> <a href="https://librivox.org/the-fundamentals-volume-1-by-various/">The Fundamentals Volume 1</a> <a href="https://librivox.org/the-fundamentals-volume-3-by-various/">The Fundamentals Volume 3</a><br>
“Fundamentals Volume 2” Metadata:
- Title: Fundamentals Volume 2
- Authors: ➤ Sir Robert AndersonFranklin JohnsonMelvin Grove KylePhilip MauroHandley Carr Glyn MouleGeorge Frederick Wright
- Language: English
- Publish Date: 1910
Edition Specifications:
- Format: Audio
- Number of Sections: 7
- Total Time: 03:50:30
Edition Identifiers:
- libriVox ID: 16189
Links and information:
- LibriVox Link: LibriVox
- Text Source: Org/details/fundamentalstest17chic/page/n141/mode/2up
- Wikipedia Link: Wikipedia
- Number of Sections: 7 sections
Online Access
Download the Audio Book:
- File Name: fundamentals2_2104_librivox
- File Format: zip
- Total Time: 03:50:30
- Download Link: Download link
Online Marketplaces
Find Fundamentals Volume 2 at online marketplaces:
- Amazon: Audiable, Kindle and printed editions.
- Ebay: New & used books.
Buy “The Value Of Respect” online:
Shop for “The Value Of Respect” on popular online marketplaces.
- Ebay: New and used books.