Downloads & Free Reading Options - Results

Adding It Up by Rosemary Wells

Read "Adding It Up" by Rosemary Wells through these free online access and download options.

Search for Downloads

Search by Title or Author

Books Results

Source: The Internet Archive

The internet Archive Search Results

Available books for downloads and borrow from The internet Archive

1ITV News - @debiedwarditv 'It Is Clearly Being Done To Crush Political Dissent.' Foreign Secretary Dominic Raab Condemns China's Mass Arrests In Hong Kong, Adding The UK Government Will 'stand Up For The People Of Hong Kong'

By

@debiedwarditv 'It is clearly being done to crush political dissent.' Foreign Secretary Dominic Raab condemns China's mass arrests in Hong Kong, adding the UK government will 'stand up for the people of Hong Kong' https://t.co/wr3jsrbf23 https://t.co/49v30eST8I Source: https://twitter.com/itvnews/status/1346875382495117312 Uploader: ITV News

“ITV News - @debiedwarditv 'It Is Clearly Being Done To Crush Political Dissent.' Foreign Secretary Dominic Raab Condemns China's Mass Arrests In Hong Kong, Adding The UK Government Will 'stand Up For The People Of Hong Kong'” Metadata:

  • Title: ➤  ITV News - @debiedwarditv 'It Is Clearly Being Done To Crush Political Dissent.' Foreign Secretary Dominic Raab Condemns China's Mass Arrests In Hong Kong, Adding The UK Government Will 'stand Up For The People Of Hong Kong'
  • Author:

“ITV News - @debiedwarditv 'It Is Clearly Being Done To Crush Political Dissent.' Foreign Secretary Dominic Raab Condemns China's Mass Arrests In Hong Kong, Adding The UK Government Will 'stand Up For The People Of Hong Kong'” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "movies" format, the size of the file-s is: 2.88 Mbs, the file-s for this book were downloaded 13 times, the file-s went public at Thu Jan 07 2021.

Available formats:
Archive BitTorrent - Item Tile - JPEG - JPEG Thumb - JSON - MPEG4 - Metadata - Thumbnail - Unknown -

Related Links:

Online Marketplaces

Find ITV News - @debiedwarditv 'It Is Clearly Being Done To Crush Political Dissent.' Foreign Secretary Dominic Raab Condemns China's Mass Arrests In Hong Kong, Adding The UK Government Will 'stand Up For The People Of Hong Kong' at online marketplaces:


2Adding It Up At The Zoo

By

16 pages : 21 cm

“Adding It Up At The Zoo” Metadata:

  • Title: Adding It Up At The Zoo
  • Author:
  • Language: English

“Adding It Up At The Zoo” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 86.40 Mbs, the file-s for this book were downloaded 20 times, the file-s went public at Mon Nov 22 2021.

Available formats:
ACS Encrypted PDF - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Adding It Up At The Zoo at online marketplaces:


3Adding It Up : Based On Timothy Goes To School And Other Stories

By

16 pages : 21 cm

“Adding It Up : Based On Timothy Goes To School And Other Stories” Metadata:

  • Title: ➤  Adding It Up : Based On Timothy Goes To School And Other Stories
  • Author:
  • Language: English

“Adding It Up : Based On Timothy Goes To School And Other Stories” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 79.94 Mbs, the file-s for this book were downloaded 19 times, the file-s went public at Wed Mar 31 2021.

Available formats:
ACS Encrypted PDF - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Adding It Up : Based On Timothy Goes To School And Other Stories at online marketplaces:


4ERIC ED267109: Adding It All Up: A Checklist Approach To Determining The Influence Of Situational Variables. R & D Report No. 3209.

By

The Situational Factors Checklist was developed to describe variables which influence changes within a school and was used in two different school settings. In one application, it was used as a part of a case study method to study implementation of a microcomputer project, increasing faculty computer literacy, at different community colleges. The second application was in describing general influences on change in a study of high schools. The checklist was designed to provide a means of looking at school situations, individually or comparatively, for evaluating and planning for change. It was intended to indicate the way context influences a particular aspect of the setting, and to provide a means of quantifying and comparing what would otherwise be qualitative data. The interaction of factors was also considered. Results indicated that factors promoting faculty use of microcomputers were overall access, space, staffing, and training. Problems involved insufficient access, software, and lack of ideas for applications. Data from the High School Study were currently being processed. It was concluded that the benefits of the checklist supported further exploration. (One blank checklist, as well as one completed by one of the colleges, are appended.) (GDC)

“ERIC ED267109: Adding It All Up: A Checklist Approach To Determining The Influence Of Situational Variables. R & D Report No. 3209.” Metadata:

  • Title: ➤  ERIC ED267109: Adding It All Up: A Checklist Approach To Determining The Influence Of Situational Variables. R & D Report No. 3209.
  • Author:
  • Language: English

“ERIC ED267109: Adding It All Up: A Checklist Approach To Determining The Influence Of Situational Variables. R & D Report No. 3209.” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 30.05 Mbs, the file-s for this book were downloaded 83 times, the file-s went public at Wed Dec 31 2014.

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:

Online Marketplaces

Find ERIC ED267109: Adding It All Up: A Checklist Approach To Determining The Influence Of Situational Variables. R & D Report No. 3209. at online marketplaces:


5ERIC ED517536: Adding It All Up: An Early Look At Net Price Calculators

By

For students and their families, deciding whether and where to go to college is one of the most important financial decisions they will ever make. However, unlike buying a computer, house, or car, most prospective students do not know how much it will cost them to attend a particular school until many of their choices about college have already been made. While the "sticker price" for most colleges is relatively easy to find, students only receive individualized information about financial aid after they apply and are accepted. Having an early estimate of "net price"--the cost of attendance minus grants and scholarships--can help students and their families make more informed decisions at key points in this high-stakes process. Without clear and timely information about likely college costs and the availability of financial aid, students may inadvertently choose colleges that they cannot afford or price themselves out of higher education when it is actually within their reach. Net price calculators, which all colleges are required to post on their websites by October 2011, present a valuable opportunity for students and their families to receive early and individualized estimates of how much it will cost them to attend schools they are interested in. After entering information about finances, academics, or other factors, students and their families will be able to view the full cost of attendance, the amount of grants and scholarships they are likely to receive, and the "net price"--the remaining amount that they would be expected to cover with savings, work, and loans. To explore how net price calculators can best serve the needs of prospective college students and their families, the author and her colleagues took an early look at 16 colleges that had already posted calculators on their websites by January 2011. They found a great deal of variation in how easy these calculators would be for prospective college students and their families to find, use, and understand. Some calculators were prominently placed on their colleges' websites, made it simple for students and parents to get results, and clearly communicated likely costs, available financial aid, and net price. Meanwhile, many other calculators were difficult to locate, required detailed financial information that students and parents would have to look up, and presented results in ways that could lead users to believe that a particular college is more affordable than it likely would be for them. Their investigation also raised questions about the privacy and security of students' personal information. Based on their findings, they offer the following recommendations for colleges: (1) Make net price calculators easy for prospective students and their families to find; (2) Create net price calculators that allow prospective students and their families to easily get and view results; (3) Make the results from net price calculators easy for prospective students and their families to understand and compare; and (4) Protect prospective students' information and clearly communicate how that information will be used. They also recommend that the Department of Education strongly encourage colleges to create net price calculators that meet the criteria above. Although early adopters of net price calculators are not representative of all colleges, the author and her colleagues hope that insights from this early look will inform discussions and decisions while colleges still have time to modify their plans. (Contains 22 footnotes.) [This issue brief was researched and written with Matthew Reed. Geneva Sarcedo, Lauren Asher, and Seth Frotman also contributed to the research and writing.]

“ERIC ED517536: Adding It All Up: An Early Look At Net Price Calculators” Metadata:

  • Title: ➤  ERIC ED517536: Adding It All Up: An Early Look At Net Price Calculators
  • Author:
  • Language: English

“ERIC ED517536: Adding It All Up: An Early Look At Net Price Calculators” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 11.16 Mbs, the file-s for this book were downloaded 69 times, the file-s went public at Mon Feb 01 2016.

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:

Online Marketplaces

Find ERIC ED517536: Adding It All Up: An Early Look At Net Price Calculators at online marketplaces:


6The 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  &gt;  How-Tos  &gt; 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-&gt; Open-&gt; 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-&gt; Add-&gt; 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 &gt; Options  under  Debugging &gt; 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-&gt; Options-&gt; Debugging-&gt; General-&gt;  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 &gt; 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 &gt; Windows &gt; 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 &gt; 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. &lt; for &lt; and \. for a literal dot. Example: &lt; Function &gt; &lt; Name &gt; operator new &lt;/ Name &gt; &lt; Action &gt; NoStepInto &lt;/ Action &gt; &lt;/ Function &gt; &lt; Function &gt; &lt; Name &gt; operator delete &lt;/ Name &gt; &lt; Action &gt; NoStepInto &lt;/ Action &gt; &lt;/ Function &gt; &lt;!-- Skip everything in std --&gt; &lt; Function &gt; &lt; Name &gt; std::.* &lt;/ Name &gt; &lt; Action &gt; NoStepInto &lt;/ Action &gt; &lt;/ Function &gt; &lt;!-- all methods on WebKit OwnPtr and variants, ... WTF::*Ptr&lt;*&gt;::* --&gt; &lt; Function &gt; &lt; Name &gt; WTF::.*Ptr&lt;.*&gt;::.* &lt;/ Name &gt; &lt; Action &gt; NoStepInto &lt;/ Action &gt; &lt;/ Function &gt; 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 :&lt;my browser pid&gt; &gt; 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:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 0.33 Mbs, the file-s went public at Fri Jul 11 2025.

Available formats:
Archive BitTorrent - Metadata - Text -

Related Links:

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:


7Me Typing And Clicking . I Have Set Up My Windows 10 Computer To Be Very Noisy And I Keep Adding More Noisiness To It And A Bit Of Magic 🪄

By

me typing and clicking . I have set up my windows 10 computer to be very noisy and I keep adding more noisiness to it and a bit of magic 🪄

“Me Typing And Clicking . I Have Set Up My Windows 10 Computer To Be Very Noisy And I Keep Adding More Noisiness To It And A Bit Of Magic 🪄” Metadata:

  • Title: ➤  Me Typing And Clicking . I Have Set Up My Windows 10 Computer To Be Very Noisy And I Keep Adding More Noisiness To It And A Bit Of Magic 🪄
  • Author:

“Me Typing And Clicking . I Have Set Up My Windows 10 Computer To Be Very Noisy And I Keep Adding More Noisiness To It And A Bit Of Magic 🪄” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "movies" format, the size of the file-s is: 2.45 Mbs, the file-s for this book were downloaded 3 times, the file-s went public at Sat Jan 25 2025.

Available formats:
Archive BitTorrent - Item Tile - JPEG - JPEG Thumb - JSON - MPEG4 - Metadata - Thumbnail - Unknown -

Related Links:

Online Marketplaces

Find Me Typing And Clicking . I Have Set Up My Windows 10 Computer To Be Very Noisy And I Keep Adding More Noisiness To It And A Bit Of Magic 🪄 at online marketplaces:


8ERIC ED499087: Adding It Up: State Challenges For Increasing College Access And Success

By

This report, comprised of key indicators and projections related to postsecondary attainment, is designed to help institutional, system, and state leaders advance a conversation about the need to increase college access and success for all students. The profiles included show that while states vary considerably in their current and expected performance in producing a college-educated population, all states must strengthen their postsecondary pipelines to be internationally competitive, meet emerging workforce needs, and promote social mobility and equity of opportunity. The following information is presented diagrammatically by state: (1) College-Education Population; (2) Changing Demographics; (3) Educational Attainment by Race and Ethnicity; (4) Student Progress To and Through College; and (5) Degrees Produced per 100 Full-Time Equivalent Students Enrolled.

“ERIC ED499087: Adding It Up: State Challenges For Increasing College Access And Success” Metadata:

  • Title: ➤  ERIC ED499087: Adding It Up: State Challenges For Increasing College Access And Success
  • Author:
  • Language: English

“ERIC ED499087: Adding It Up: State Challenges For Increasing College Access And Success” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 127.72 Mbs, the file-s for this book were downloaded 97 times, the file-s went public at Wed Jan 27 2016.

Available formats:
Abbyy GZ - Animated GIF - Archive BitTorrent - DjVu - DjVuTXT - Djvu XML - JPEG Thumb - Metadata - Scandata - Single Page Processed JP2 ZIP - Text PDF -

Related Links:

Online Marketplaces

Find ERIC ED499087: Adding It Up: State Challenges For Increasing College Access And Success at online marketplaces:


9Adding It Up : Based On Timothy Goes To School And Other Stories

By

This report, comprised of key indicators and projections related to postsecondary attainment, is designed to help institutional, system, and state leaders advance a conversation about the need to increase college access and success for all students. The profiles included show that while states vary considerably in their current and expected performance in producing a college-educated population, all states must strengthen their postsecondary pipelines to be internationally competitive, meet emerging workforce needs, and promote social mobility and equity of opportunity. The following information is presented diagrammatically by state: (1) College-Education Population; (2) Changing Demographics; (3) Educational Attainment by Race and Ethnicity; (4) Student Progress To and Through College; and (5) Degrees Produced per 100 Full-Time Equivalent Students Enrolled.

“Adding It Up : Based On Timothy Goes To School And Other Stories” Metadata:

  • Title: ➤  Adding It Up : Based On Timothy Goes To School And Other Stories
  • Author:
  • Language: English

“Adding It Up : Based On Timothy Goes To School And Other Stories” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 84.84 Mbs, the file-s for this book were downloaded 31 times, the file-s went public at Thu Feb 18 2021.

Available formats:
ACS Encrypted PDF - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Adding It Up : Based On Timothy Goes To School And Other Stories at online marketplaces:


10Adding It Up At The Zoo

By

This report, comprised of key indicators and projections related to postsecondary attainment, is designed to help institutional, system, and state leaders advance a conversation about the need to increase college access and success for all students. The profiles included show that while states vary considerably in their current and expected performance in producing a college-educated population, all states must strengthen their postsecondary pipelines to be internationally competitive, meet emerging workforce needs, and promote social mobility and equity of opportunity. The following information is presented diagrammatically by state: (1) College-Education Population; (2) Changing Demographics; (3) Educational Attainment by Race and Ethnicity; (4) Student Progress To and Through College; and (5) Degrees Produced per 100 Full-Time Equivalent Students Enrolled.

“Adding It Up At The Zoo” Metadata:

  • Title: Adding It Up At The Zoo
  • Author: ➤  
  • Language: English

“Adding It Up At The Zoo” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 171.20 Mbs, the file-s for this book were downloaded 42 times, the file-s went public at Mon May 07 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:

Online Marketplaces

Find Adding It Up At The Zoo at online marketplaces:


11Adding It Up : Based On Timothy Goes To School And Other Stories

By

Timothy and his classmates learn to add and subtract, count from one to twenty, and recognize shapes and patterns. Includes activities

“Adding It Up : Based On Timothy Goes To School And Other Stories” Metadata:

  • Title: ➤  Adding It Up : Based On Timothy Goes To School And Other Stories
  • Authors: ➤  
  • Language: English

“Adding It Up : Based On Timothy Goes To School And Other Stories” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 84.55 Mbs, the file-s for this book were downloaded 98 times, the file-s went public at Thu Feb 26 2015.

Available formats:
ACS Encrypted EPUB - ACS Encrypted PDF - Abbyy GZ - Animated GIF - Cloth Cover Detection Log - DjVu - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item CDX Index - Item CDX Meta-Index - Item Tile - JPEG-Compressed PDF - 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 - WARC CDX Index - Web ARChive GZ - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Adding It Up : Based On Timothy Goes To School And Other Stories at online marketplaces:


12Roblox - Plugins Like This Do A Lot To Simplify Workflow And Open Up New Possibilities. It May Seem Like A Small Time Savings To Automatically Generate Parts Instead Of Adding Them Yourself…but When You’re Creating Massive Environments, Small Savings Are A Very Big Deal.

By

Plugins like this do a lot to simplify workflow and open up new possibilities. It may seem like a small time savings to automatically generate parts instead of adding them yourself…but when you’re creating massive environments, small savings are a very big deal. https://t.co/fwgzJqgH9c Source: https://twitter.com/Roblox/status/1489319340906188800 Uploader: Roblox

“Roblox - Plugins Like This Do A Lot To Simplify Workflow And Open Up New Possibilities. It May Seem Like A Small Time Savings To Automatically Generate Parts Instead Of Adding Them Yourself…but When You’re Creating Massive Environments, Small Savings Are A Very Big Deal.” Metadata:

  • Title: ➤  Roblox - Plugins Like This Do A Lot To Simplify Workflow And Open Up New Possibilities. It May Seem Like A Small Time Savings To Automatically Generate Parts Instead Of Adding Them Yourself…but When You’re Creating Massive Environments, Small Savings Are A Very Big Deal.
  • Author:

“Roblox - Plugins Like This Do A Lot To Simplify Workflow And Open Up New Possibilities. It May Seem Like A Small Time Savings To Automatically Generate Parts Instead Of Adding Them Yourself…but When You’re Creating Massive Environments, Small Savings Are A Very Big Deal.” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "movies" format, the size of the file-s is: 2.71 Mbs, the file-s for this book were downloaded 26 times, the file-s went public at Tue Dec 13 2022.

Available formats:
Archive BitTorrent - Item Tile - JPEG - JPEG Thumb - JSON - MPEG4 - Metadata - Thumbnail - Unknown -

Related Links:

Online Marketplaces

Find Roblox - Plugins Like This Do A Lot To Simplify Workflow And Open Up New Possibilities. It May Seem Like A Small Time Savings To Automatically Generate Parts Instead Of Adding Them Yourself…but When You’re Creating Massive Environments, Small Savings Are A Very Big Deal. at online marketplaces:


13Kick It Up! Adding Spice To Your Scrapbook Layouts

By

Plugins like this do a lot to simplify workflow and open up new possibilities. It may seem like a small time savings to automatically generate parts instead of adding them yourself…but when you’re creating massive environments, small savings are a very big deal. https://t.co/fwgzJqgH9c Source: https://twitter.com/Roblox/status/1489319340906188800 Uploader: Roblox

“Kick It Up! Adding Spice To Your Scrapbook Layouts” Metadata:

  • Title: ➤  Kick It Up! Adding Spice To Your Scrapbook Layouts
  • Author:
  • Language: English

“Kick It Up! Adding Spice To Your Scrapbook Layouts” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 514.78 Mbs, the file-s for this book were downloaded 25 times, the file-s went public at Sat Dec 28 2019.

Available formats:
ACS Encrypted EPUB - ACS Encrypted PDF - Abbyy GZ - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Kick It Up! Adding Spice To Your Scrapbook Layouts at online marketplaces:


14Because I Am A Girl : The State Of The World's Girls 2009 : Girls In The Global Economy: Adding It All Up

By

Plugins like this do a lot to simplify workflow and open up new possibilities. It may seem like a small time savings to automatically generate parts instead of adding them yourself…but when you’re creating massive environments, small savings are a very big deal. https://t.co/fwgzJqgH9c Source: https://twitter.com/Roblox/status/1489319340906188800 Uploader: Roblox

“Because I Am A Girl : The State Of The World's Girls 2009 : Girls In The Global Economy: Adding It All Up” Metadata:

  • Title: ➤  Because I Am A Girl : The State Of The World's Girls 2009 : Girls In The Global Economy: Adding It All Up
  • Author:
  • Language: English

“Because I Am A Girl : The State Of The World's Girls 2009 : Girls In The Global Economy: Adding It All Up” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 889.63 Mbs, the file-s for this book were downloaded 19 times, the file-s went public at Tue Dec 21 2021.

Available formats:
ACS Encrypted PDF - Book Genome JSON - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Because I Am A Girl : The State Of The World's Girls 2009 : Girls In The Global Economy: Adding It All Up at online marketplaces:


15Adding It Up : Helping Children Learn Mathematics

Plugins like this do a lot to simplify workflow and open up new possibilities. It may seem like a small time savings to automatically generate parts instead of adding them yourself…but when you’re creating massive environments, small savings are a very big deal. https://t.co/fwgzJqgH9c Source: https://twitter.com/Roblox/status/1489319340906188800 Uploader: Roblox

“Adding It Up : Helping Children Learn Mathematics” Metadata:

  • Title: ➤  Adding It Up : Helping Children Learn Mathematics
  • Language: English

“Adding It Up : Helping Children Learn Mathematics” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 952.73 Mbs, the file-s for this book were downloaded 91 times, the file-s went public at Mon Jun 15 2020.

Available formats:
ACS Encrypted EPUB - ACS Encrypted PDF - Abbyy GZ - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Adding It Up : Helping Children Learn Mathematics at online marketplaces:


16ERIC ED593089: Adding It Up: How The Florida College And Career Readiness Initiative Impacted Developmental Education

By

The Florida College and Career Readiness Initiative (FCCRI) was a statewide policy requiring college readiness testing and participation in college readiness courses for high school students. We used regression discontinuity to compare outcomes for students scoring just above and below test score cutoffs for assignment to FCCRI. We also examined impacts for students from a wider range of academic performance by using a before-after regression analysis to compare outcomes for targeted students before and after their schools implemented the FCCRI. The FCCRI increased the likelihood of enrolling in nondevelopmental courses for some targeted students, although results differ by academic performance. However, smaller differences in the likelihood of passing nondevelopmental courses suggest that some students were not prepared for these courses. [This paper was published in "Educational Evaluation and Policy Analysis" v40 n2 p219-242 2018 (EJ1178836).]

“ERIC ED593089: Adding It Up: How The Florida College And Career Readiness Initiative Impacted Developmental Education” Metadata:

  • Title: ➤  ERIC ED593089: Adding It Up: How The Florida College And Career Readiness Initiative Impacted Developmental Education
  • Author:
  • Language: English

“ERIC ED593089: Adding It Up: How The Florida College And Career Readiness Initiative Impacted Developmental Education” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 29.67 Mbs, the file-s for this book were downloaded 21 times, the file-s went public at Thu Jul 21 2022.

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:

Online Marketplaces

Find ERIC ED593089: Adding It Up: How The Florida College And Career Readiness Initiative Impacted Developmental Education at online marketplaces:


17Cinder - Heads Up Our Big Announcement Is Here! Animoca Has Invested Into Cinder. They Will Be Helping Out With Adding Value To Our Holders Through Staking, Tokenomics, Collabs, And More. Check It Out! 🧵

By

Heads up our big announcement is here! Animoca has invested into Cinder. They will be helping out with adding value to our holders through staking, tokenomics, collabs, and more. Check it out! 🧵 https://t.co/8PnMdNyGPR

“Cinder - Heads Up Our Big Announcement Is Here! Animoca Has Invested Into Cinder. They Will Be Helping Out With Adding Value To Our Holders Through Staking, Tokenomics, Collabs, And More. Check It Out! 🧵” Metadata:

  • Title: ➤  Cinder - Heads Up Our Big Announcement Is Here! Animoca Has Invested Into Cinder. They Will Be Helping Out With Adding Value To Our Holders Through Staking, Tokenomics, Collabs, And More. Check It Out! 🧵
  • Author:

“Cinder - Heads Up Our Big Announcement Is Here! Animoca Has Invested Into Cinder. They Will Be Helping Out With Adding Value To Our Holders Through Staking, Tokenomics, Collabs, And More. Check It Out! 🧵” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "movies" format, the size of the file-s is: 2.28 Mbs, the file-s for this book were downloaded 9 times, the file-s went public at Tue Mar 04 2025.

Available formats:
Archive BitTorrent - Item Tile - JPEG - JPEG Thumb - JSON - MPEG4 - Metadata - Thumbnail - Unknown -

Related Links:

Online Marketplaces

Find Cinder - Heads Up Our Big Announcement Is Here! Animoca Has Invested Into Cinder. They Will Be Helping Out With Adding Value To Our Holders Through Staking, Tokenomics, Collabs, And More. Check It Out! 🧵 at online marketplaces:


18ERIC ED536186: Adding It All Up 2012: Are College Net Price Calculators Easy To Find, Use, And Compare?

By

By providing early, individualized estimates of college costs and financial aid, net price calculators can help prospective college students and their families look past often scary "sticker prices" and start figuring out which colleges they might be able to afford. These online tools, currently available on almost all college websites, can help students discover that their dream school may be more (or less) affordable than they thought--"before" they have to decide where to apply. After entering information about their finances, academics, or other factors, students and their families can view the full cost of attendance, the amount of grants and scholarships they are likely to receive, and the "net price"--the remaining amount that they would have to save, earn, or borrow to attend a particular college. Nearly all U.S. colleges were required by law to post net price calculators on their websites by October 29, 2011. In a March 2011 issue brief, "Adding It All Up: An Early Look at Net Price Calculators," the author and her colleagues analyzed 16 calculators that were posted before the deadline. Now that the deadline has passed by nearly a year, this report takes a more in-depth look at the net price calculators from 50 randomly selected colleges. While they found some positive practices that were not evident at the time of their previous report, net price calculators are still not reliably easy for prospective college students and their families to find, use, and compare. Appended are: (1) List of Colleges in the Sample and Their Net Price Calculators; and (2) Profile of Fictional Students Used for Analysis. (Contains 12 figures, 2 tables and 40 footnotes.)

“ERIC ED536186: Adding It All Up 2012: Are College Net Price Calculators Easy To Find, Use, And Compare?” Metadata:

  • Title: ➤  ERIC ED536186: Adding It All Up 2012: Are College Net Price Calculators Easy To Find, Use, And Compare?
  • Author:
  • Language: English

“ERIC ED536186: Adding It All Up 2012: Are College Net Price Calculators Easy To Find, Use, And Compare?” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 21.22 Mbs, the file-s for this book were downloaded 102 times, the file-s went public at Tue Mar 08 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:

Online Marketplaces

Find ERIC ED536186: Adding It All Up 2012: Are College Net Price Calculators Easy To Find, Use, And Compare? at online marketplaces:


19Adding It Up : Improving Analysis & Modelling In Central Government

By providing early, individualized estimates of college costs and financial aid, net price calculators can help prospective college students and their families look past often scary "sticker prices" and start figuring out which colleges they might be able to afford. These online tools, currently available on almost all college websites, can help students discover that their dream school may be more (or less) affordable than they thought--"before" they have to decide where to apply. After entering information about their finances, academics, or other factors, students and their families can view the full cost of attendance, the amount of grants and scholarships they are likely to receive, and the "net price"--the remaining amount that they would have to save, earn, or borrow to attend a particular college. Nearly all U.S. colleges were required by law to post net price calculators on their websites by October 29, 2011. In a March 2011 issue brief, "Adding It All Up: An Early Look at Net Price Calculators," the author and her colleagues analyzed 16 calculators that were posted before the deadline. Now that the deadline has passed by nearly a year, this report takes a more in-depth look at the net price calculators from 50 randomly selected colleges. While they found some positive practices that were not evident at the time of their previous report, net price calculators are still not reliably easy for prospective college students and their families to find, use, and compare. Appended are: (1) List of Colleges in the Sample and Their Net Price Calculators; and (2) Profile of Fictional Students Used for Analysis. (Contains 12 figures, 2 tables and 40 footnotes.)

“Adding It Up : Improving Analysis & Modelling In Central Government” Metadata:

  • Title: ➤  Adding It Up : Improving Analysis & Modelling In Central Government
  • Language: English

“Adding It Up : Improving Analysis & Modelling In Central Government” Subjects and Themes:

Edition Identifiers:

Downloads Information:

The book is available for download in "texts" format, the size of the file-s is: 252.18 Mbs, the file-s for this book were downloaded 27 times, the file-s went public at Thu May 18 2023.

Available formats:
ACS Encrypted PDF - Cloth Cover Detection Log - DjVuTXT - Djvu XML - Dublin Core - EPUB - Extra Metadata JSON - Item Tile - JPEG Thumb - JSON - LCP Encrypted EPUB - LCP Encrypted PDF - Log - MARC - MARC Binary - Metadata - Metadata Log - OCR Page Index - OCR Search Text - PNG - Page Numbers JSON - RePublisher Final Processing Log - RePublisher Initial Processing Log - Scandata - Single Page Original JP2 Tar - Single Page Processed JP2 ZIP - Text PDF - Title Page Detection Log - chOCR - hOCR -

Related Links:

Online Marketplaces

Find Adding It Up : Improving Analysis & Modelling In Central Government at online marketplaces:


Source: The Open Library

The Open Library Search Results

Available books for downloads and borrow from The Open Library

1Adding It Up

Get Set for Kindergarten #6 (Wells, Rosemary. Get Set for Kindergarten.) (Wells, Rosemary. Get Set for Kindergarten.)

By

Book's cover

“Adding It Up” Metadata:

  • Title: Adding It Up
  • Author:
  • Language: English
  • Number of Pages: Median: 24
  • Publisher: ➤  Viking Juvenile - Tandem Library - Puffin - Turtleback Books Distributed by Demco Media
  • Publish Date:

“Adding It Up” Subjects and Themes:

Edition Identifiers:

First Setence:

""Good morning, class" says Mrs. Jenkins."
"BASED ON TIMOTHY GOES TO SCHOOL AND OTHER STORIES BY ROSEMARY WELLS"

Access and General Info:

  • First Year Published: 2001
  • 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:

Online Marketplaces

Find Adding It Up at online marketplaces:


Source: LibriVox

LibriVox Search Results

Available audio books for downloads from LibriVox

1Invisible Man

By

Book's cover

<i>The Invisible Man</i> (1897) is one of the most famous science fiction novels of all time. Written by H.G. Wells (1866-1946), it tells the story of a scientist who discovers the secret of invisibility and uses it on himself. The story begins as the Invisible Man, with a bandaged face and a heavy coat and gloves, takes a train to lodge in a country inn whilst he tries to discover the antidote and make himself visible again. The book inspired several films and is notable for its vivid descriptions of the invisible man--no mean feat, given that you can't see him!

“Invisible Man” Metadata:

  • Title: Invisible Man
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 13
  • Total Time: 4:54:05

Edition Identifiers:

  • libriVox ID: 426

Links and information:

Online Access

Download the Audio Book:

  • File Name: invisible_man_librivox
  • File Format: zip
  • Total Time: 4:54:05
  • Download Link: Download link

Online Marketplaces

Find Invisible Man at online marketplaces:


2War of the Worlds

By

Book's cover

H. G. Wells wrote <em>The War of the Worlds</em> in 1898, when there was much speculation about life on the planet Mars. The book is considered to be one of the first science fiction novels. In the story, an English gentleman narrates the events of a violent and fast paced Martian invasion.<br /><br />The frightening images of people fleeing from gigantic tripod machines and the prospect of life under Martian rule have served as a bottomless well of inspiration for popular culture. The novel has served as a template for many derivative or inspired works, including comics, countless books, a TV series, several films, a bestselling musical, and the famous Orson Wells broadcast. Overall, <em>The War of the Worlds</em> has become an early milestone in and inspiration for the invasion genre.<br /><br />The novel demonstrates Wells' typical pessimistic outlook on human nature and offers a good deal of criticism on society and people's ignorance and vanity. <em>The War of the Worlds</em> can be read as an indictment of European colonial actions around the globe at that time - with which the injustice of the Martian invasion can be compared. Wells has since been credited with predicting quite a number of technologies, such as laser-like rays, industrial robot-like machines, and chemical-warfare.<br />(Summary by Stephan Möbius and Annie Coleman)<br /><br /> <b>Illustrations by </b><a href="http://librivox.org/reader/91">Stephan Möbius</a></b><br> Book 1 - Chapter 1: <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/00_chapter00__map_of_surrey.gif">Map of Surrey</a><br> Book 1 - Chapter 5: <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/01_chapter04__the_cylinder_opens.gif">The Cylinder Opens - 1</a>, <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/02_chapter04__the_cylinder_opens_2.gif">The Cylinder Opens - 2</a><br> Book 1 - Chapter 11: <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/03_chapter10__in_the_storm.gif">In the Storm</a><br> Book 1 - Chapter 12: <a >At the Window</a><br> Book 1 - Chapter 16: <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/05_chapter15__what_had_happened_in_surrey.gif">What Had Happened in Surrey</a><br> Book 1 - Chapter 17: <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/06_chapter16__the_exodus_from_london.gif">The Exodus from London</a><br> Book 2 - Chapter 2: <a href="http://archive.org/details/waroftheworlds_illustrations_librivox/07_chapter18__under_foot.gif">Under Foot</a>

“War of the Worlds” Metadata:

  • Title: War of the Worlds
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 27
  • Total Time: 6:43:20

Edition Identifiers:

  • libriVox ID: 436

Links and information:

Online Access

Download the Audio Book:

  • File Name: war_of_the_worlds_librivox
  • File Format: zip
  • Total Time: 6:43:20
  • Download Link: Download link

Online Marketplaces

Find War of the Worlds at online marketplaces:


3War of the Worlds (version 2)

By

Book's cover

War of the Worlds by Herbert George Wells (H.G. Wells) was published in 1898 at a time when he wrote a series of novels related to a number of historical events of the time. The most important of these was the unification and militarization of Germany. The story, written in a semi-documentary style, is told in the first person by an unnamed observer. It tells of the events which happen mostly in London and the county of Surrey, England, when a number of vessels manned by aliens are fired from Mars and land on Earth. (Summary by Rebecca)

“War of the Worlds (version 2)” Metadata:

  • Title: War of the Worlds (version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 27
  • Total Time: 6:35:38

Edition Identifiers:

  • libriVox ID: 552

Links and information:

Online Access

Download the Audio Book:

  • File Name: war_worlds_solo_librivox
  • File Format: zip
  • Total Time: 6:35:38
  • Download Link: Download link

Online Marketplaces

Find War of the Worlds (version 2) at online marketplaces:


4Island of Doctor Moreau

By

Book's cover

The Island of Doctor Moreau is an 1896 science fiction novel written by H. G. Wells, addressing ideas of society and community, human nature and identity, religion, Darwinism, and eugenics.<br><br>When the novel was written in the late 19th century, England's scientific community was engulfed by debates on animal vivisection. Interest groups were even formed to tackle the issue: the British Union for the Abolition of Vivisection was formed two years after the publication of the novel. The novel is presented as a discovered manuscript, introduced by the narrator's nephew; it then 'transcribes' the tale. (Summary from Wikipedia)

“Island of Doctor Moreau” Metadata:

  • Title: Island of Doctor Moreau
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 23
  • Total Time: 4:39:58

Edition Identifiers:

  • libriVox ID: 597

Links and information:

Online Access

Download the Audio Book:

  • File Name: island_moreau_librivox
  • File Format: zip
  • Total Time: 4:39:58
  • Download Link: Download link

Online Marketplaces

Find Island of Doctor Moreau at online marketplaces:


5Wheels of Chance

By

Book's cover

The Wheels of Chance - A Bicycling Idyll follows the adventures of a draper's assistant who, having brought an ancient bicycle, sets off on a 2 week tour of the countryside. And his world will never be the same again.(Summary by annise)

“Wheels of Chance” Metadata:

  • Title: Wheels of Chance
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 15
  • Total Time: 6:00:12

Edition Identifiers:

  • libriVox ID: 659

Links and information:

Online Access

Download the Audio Book:

  • File Name: wheels_of_chance_0908_librivox
  • File Format: zip
  • Total Time: 6:00:12
  • Download Link: Download link

Online Marketplaces

Find Wheels of Chance at online marketplaces:


6Time Machine

By

Book's cover

The Time Machine is a novel by H. G. Wells, first published in 1895, later made into two films of the same title. This novel is generally credited with the popularization of the concept of time travel using a vehicle that allows an operator to travel purposefully and selectively. (Summary from wikipedia.org)<br /><br /> Note: This audiobook contains readings of chapter 1 by two different readers. Variety is the spice of life.

“Time Machine” Metadata:

  • Title: Time Machine
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 13
  • Total Time: 4:09:29

Edition Identifiers:

  • libriVox ID: 817

Links and information:

Online Access

Download the Audio Book:

  • File Name: time_machine_0805_librivox
  • File Format: zip
  • Total Time: 4:09:29
  • Download Link: Download link

Online Marketplaces

Find Time Machine at online marketplaces:


7Little Wars

By

Book's cover

A Game for Boys from twelve years of age to one hundred and fifty and for that more intelligent sort of girl who likes boys' games and books. With an Appendix on Kriegspiel<br /><br /> Miniature wargaming got its start with the publication in 1913 of this thoroughly entertaining little account of how H.G. Wells, with certain of his friends, took their childhood toys and turned play into acceptable middle-aged sport by subjecting the exercise to the civilizing influence of actual rules.<br /><br />While wargaming progressed far past these beginnings, Wells observes how "little wars" with even his elementary rules can suggest the wholesale crudity of the real thing.<br />"You have only to play at Little Wars three or four times to realise just what a blundering thing Great War must be. Great War is at present, I am convinced, not only the most expensive game in the universe, but it is a game out of all proportion. Not only are the masses of men and material and suffering and inconvenience too monstrously big for reason, but--the available heads we have for it, are too small. That, I think, is the most pacific realisation conceivable, and Little War brings you to it as nothing else but Great War can do."<br /><br />Wells leaves almost hanging the tantalizing concept that we might someday simulate war, as an instrument of international decision-making, rather than practice actual combat. But most of this book is just the fun of evicting the boys from the playroom and spending happy days there, away from the "skirt-swishers", developing the framework under which two gentlemen might meet and accumulate boastable victories! (Summary by Mark F. Smith)

“Little Wars” Metadata:

  • Title: Little Wars
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 5
  • Total Time: 1:44:27

Edition Identifiers:

  • libriVox ID: 914

Links and information:

Online Access

Download the Audio Book:

  • File Name: little_wars_librivox
  • File Format: zip
  • Total Time: 1:44:27
  • Download Link: Download link

Online Marketplaces

Find Little Wars at online marketplaces:


8Sleeper Awakes

By

Book's cover

The Sleeper Awakes is a dystopian novel about a man who sleeps for two hundred years, waking up in a completely transformed London, where, because of compound interest, he has become the richest man in the world. He has been the famous Sleeper for centuries. A fanatic socialist, the main character awakes to see his nightmares realized, and the future revealed to him in all its horrors and malformities. The people adore him, and their masters - the supervisors of his legacy who rule in his name - do not want him breathing. (Summary by Stephan and Wikipedia)

“Sleeper Awakes” Metadata:

  • Title: Sleeper Awakes
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 26
  • Total Time: 8:14:09

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: sleeper_awakes_0809
  • File Format: zip
  • Total Time: 8:14:09
  • Download Link: Download link

Online Marketplaces

Find Sleeper Awakes at online marketplaces:


9Floor Games

By

Book's cover

H.G. Wells had so much fun playing with his children on the floor of their playroom, he decided to write a jovial little book to inspire other parents in their pursuit of quality time with the kids. While the raw materials available from hobby stores of his day were woefully short of the variety and quality of what can be bought easily now, he and his sons created their own worlds to rule. This short work describes two games of imagination played out upon the floor of his home - an archipelago of islands, and a thoroughly integrated city, conveniently organized with two mayoral positions for his sons “G.P.W.” and “F.R.W.” While the toy people appearing in their worlds were often of martial nature, Wells decided to leave description of military games to a later book: “Little Wars.”

“Floor Games” Metadata:

  • Title: Floor Games
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 1
  • Total Time: 0:45:13

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: floor_games_mfs
  • File Format: zip
  • Total Time: 0:45:13
  • Download Link: Download link

Online Marketplaces

Find Floor Games at online marketplaces:


10First Men in the Moon

By

Book's cover

Britain won the Moon Race! Decades before Neal Armstrong took his "giant leap for mankind" two intrepid adventurers from Lympne, England, journeyed there using not a rocket, but an antigravity coating.<br /><br /> Mr. Bedford, who narrates the tale, tells of how he fell in with eccentric inventor Mr. Cavor, grew to believe in his researches, helped him build a sphere for traveling in space, and then partnered with him in an expedition to the Moon.<br /><br /> What they found was fantastic! There was not only air and water, but the Moon was honeycombed with caverns and tunnels in which lived an advanced civilization of insect-like beings. While Bedford is frightened by them and bolts home, Cavor stays and is treated with great respect.<br /><br /> So why didn't Armstrong and later astronauts find the evidence of all this? Well, according to broadcasts by Cavor over the newly-discovered radio technology, he told the Selenites too much about mankind, and apparently, they removed the welcome mat! (Summary by Mark)

“First Men in the Moon” Metadata:

  • Title: First Men in the Moon
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 26
  • Total Time: 8:02:44

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: men_moon_mfs_librivox
  • File Format: zip
  • Total Time: 8:02:44
  • Download Link: Download link

Online Marketplaces

Find First Men in the Moon at online marketplaces:


11Ann Veronica

By

Book's cover

Ann Veronica was a controversial book detailing the development of a naive school girl into a "New Woman". When it was published, the Spectator described it as a "poisonous book ... capable of poisoning the minds of those who read it." Although it is unlikely to offend modern listeners in this way, this novel addresses many feminist issues that are still relevant today. (Summary by Joy Chan)

“Ann Veronica” Metadata:

  • Title: Ann Veronica
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 17
  • Total Time: 10:24:56

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: ann_veronica_0809_librivox
  • File Format: zip
  • Total Time: 10:24:56
  • Download Link: Download link

Online Marketplaces

Find Ann Veronica at online marketplaces:


12Food of the Gods and How it Came to Earth

By

Book's cover

Two stuffy English scientists, always looking to further their scientific knowledge, create a substance called Herakleophorbia, which in its fourth incarnation – known as Herakleophorbia IV – has the special ability of making things increase greatly in size. As the scientists begin experimentation on some chicks, the substance is misused by some “country folk” who don’t take it seriously and soon Herakleophorbia IV is running rampant throughout England and then across the globe, creating giant plants and animals that wreak havoc on the land and then the people. Then the first giant babies are revealed and for the first time humanity has to contend with the existence of a new race of giant people. How humanity deals with this shocking new creation is revealed in The Food of the Gods and How it Came to Earth. (Summary by Alex C. Telander)

“Food of the Gods and How it Came to Earth” Metadata:

  • Title: ➤  Food of the Gods and How it Came to Earth
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 12
  • Total Time: 6:16:39

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: food_of_the_gods_act
  • File Format: zip
  • Total Time: 6:16:39
  • Download Link: Download link

Online Marketplaces

Find Food of the Gods and How it Came to Earth at online marketplaces:


13Jingle Book

By

Book's cover

A collection of silly poetry and limericks for children.

“Jingle Book” Metadata:

  • Title: Jingle Book
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 4
  • Total Time: 1:26:46

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 4 sections

Online Access

Download the Audio Book:

  • File Name: jingle_book_blb_librivox
  • File Format: zip
  • Total Time: 1:26:46
  • Download Link: Download link

Online Marketplaces

Find Jingle Book at online marketplaces:


14World Set Free

By

Book's cover

The World Set Free is a novel published in 1914 by H. G. Wells. The book is considered a prophetical novel foretelling the advent of nuclear weapons.<br /><br />A constant theme in Wells's work, such as his 1901 nonfiction book Anticipations, was the role of energy and technological advance as a determinant of human progress.<br /><br />The novel opens: "The history of mankind is the history of the attainment of external power. Man is the tool-using, fire-making animal." Scientists of the day were well aware that the slow natural radioactive decay of elements like radium continues for thousands of years, and that while the rate of energy release is negligible, the total amount released is huge. Wells used this as the basis for his story. (Summary on Wikipedia)

“World Set Free” Metadata:

  • Title: World Set Free
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 11
  • Total Time: 8:10:23

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: world_set_free_0907_librivox
  • File Format: zip
  • Total Time: 8:10:23
  • Download Link: Download link

Online Marketplaces

Find World Set Free at online marketplaces:


15Story of the Stone Age

By

Book's cover

This story is of a time beyond the memory of man, before the beginning of history. . . (Summary from the text)

“Story of the Stone Age” Metadata:

  • Title: Story of the Stone Age
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 5
  • Total Time: 2:10:18

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: stone_age_0912_librivox
  • File Format: zip
  • Total Time: 2:10:18
  • Download Link: Download link

Online Marketplaces

Find Story of the Stone Age at online marketplaces:


16Time Machine (Version 4)

By

Book's cover

The Time Machine is a science fiction novella by H. G. Wells, published in 1895 for the first time and later adapted into at least two feature films of the same name, as well as two television versions, and a large number of comic book adaptations. It indirectly inspired many more works of fiction in many media. This 32,000 word story is generally credited with the popularisation of the concept of time travel using a vehicle that allows an operator to travel purposefully and selectively. The term "time machine", coined by Wells, is now universally used to refer to such a vehicle. (Introduction by Wikipedia)

“Time Machine (Version 4)” Metadata:

  • Title: Time Machine (Version 4)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 13
  • Total Time: 3:47:21

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: time_machine_1201_librivox
  • File Format: zip
  • Total Time: 3:47:21
  • Download Link: Download link

Online Marketplaces

Find Time Machine (Version 4) at online marketplaces:


17Modern Utopia

By

Book's cover

H. G. Wells's proposal for social reform was the formation of a world state, a concept that would increasingly preoccupy him throughout the remainder of his life. One of his most ambitious early attempts at portraying a world state was <i>A Modern Utopia</i> (1905). <i>A Modern Utopia</i> was intended as a hybrid between fiction and 'philosophical discussion'. Like most utopists, he has indicated a series of modifications which in his opinion would increase the aggregate of human happiness. Basically, Wells' idea of a perfect world would be if everyone were able to live a happy life. This book is written with an intimate knowledge of former ideal commonwealths and is a conscious attempt to describe a utopia that is not utopian. (Summary by Wikipedia)

“Modern Utopia” Metadata:

  • Title: Modern Utopia
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 21
  • Total Time: 10:11:01

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: modernutopia_1207_librivox
  • File Format: zip
  • Total Time: 10:11:01
  • Download Link: Download link

Online Marketplaces

Find Modern Utopia at online marketplaces:


18History of Mr. Polly

By

Book's cover

A funny and touching account of the imaginative Mr. Polly who, bored and trapped in his conventional life, makes a U-turn –- and changes everything.<br /><br />H.G. Wells’ early life as the son of a semi-insolvent shopkeeper and as a draper’s apprentice fueled his novels of the lower middle class: The Wheels of Chance (1896), Kipps (1905), and The History of Mr. Polly (1910). These works evoke the desperation of apprentices, clerks, and small traders in their monotonous toil behind shop counters. And, like Mr. Polly, his protagonists make a break from their mundane lives with more or less success.<br /><br />H. G. Wells (1866-1946) was a prolific writer in history, general and science fiction, and politics. He was a lifelong socialist. (Summary by Adrian Praetzellis)

“History of Mr. Polly” Metadata:

  • Title: History of Mr. Polly
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 23
  • Total Time: 9:08:39

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: historymrpolly_ap_librivox
  • File Format: zip
  • Total Time: 9:08:39
  • Download Link: Download link

Online Marketplaces

Find History of Mr. Polly at online marketplaces:


19Story of the Days to Come

By

Book's cover

Set in London in the early 22nd century, this novella depicts the troubles of two lovers, Denton and Elizabeth. Elizabeth is a well-to-do woman with many connections, but Denton is only a middle-class worker. Elizabeth's father strongly disapproves of the match, and orders a hypnotist to hypnotize his daughter into thinking that she is in love with another. When the scheme is found out, Denton and Elizabeth elope, leading to a string of events that take them from the top of London society to horrifying depths of "underneath" London. (Summary by WoollyBee)

“Story of the Days to Come” Metadata:

  • Title: Story of the Days to Come
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 5
  • Total Time: 03:35:27

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: storydaystocome_1403_librivox
  • File Format: zip
  • Total Time: 03:35:27
  • Download Link: Download link

Online Marketplaces

Find Story of the Days to Come at online marketplaces:


20World Set Free (version 2)

By

Book's cover

Radioactive decay is a major theme in the novel The World Set Free, published in 1914. Wells explores what might happen if the rate of decay could be sped up. The book may have encouraged scientists to explore theories of nuclear chain reaction. It also served as a vehicle for Wells to develop his ideas on survival of the human race. (Summary by Bill Boerst)

“World Set Free (version 2)” Metadata:

  • Title: World Set Free (version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 11
  • Total Time: 8:04:19

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: world_set_free_1110_librivox
  • File Format: zip
  • Total Time: 8:04:19
  • Download Link: Download link

Online Marketplaces

Find World Set Free (version 2) at online marketplaces:


21Time Machine (Version 3)

By

Book's cover

H.G. Wells' classic science fiction-fantasy story, in which a scientist known only as “The Time Traveller” tells the tale of his journey to the year 802,701 A.D. and beyond, where he witnesses the end of human civilization as we know it, as well as the beginning of the end of the world. This original time-travel story has been copied many times, but never improved upon. (Summary by Mark Nelson)

“Time Machine (Version 3)” Metadata:

  • Title: Time Machine (Version 3)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 12
  • Total Time: 3:39:41

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: timemachine_sjm_librivox
  • File Format: zip
  • Total Time: 3:39:41
  • Download Link: Download link

Online Marketplaces

Find Time Machine (Version 3) at online marketplaces:


22War in the Air

By

Book's cover

War in the Air was written during a prolific time in H. G. Wells's writing career. Having withdrawn from British politics to spend more time on his own ideas, he published twelve books between 1901 and 1911, including this one. while many British citizens were surprised by the advent of World War I, Wells had already written prophetically about such a conflict. War in the Air predicted use of airplanes in modern war. (Summary by Bill Boerst)

“War in the Air” Metadata:

  • Title: War in the Air
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 27
  • Total Time: 10:52:01

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: war_in_air_1110_librivox
  • File Format: zip
  • Total Time: 10:52:01
  • Download Link: Download link

Online Marketplaces

Find War in the Air at online marketplaces:


23Time Machine (Version 2)

By

Book's cover

Surely the Time Traveler threw great dinner parties! His guests were treated to a once-in-forever trial of a miniature time machine - an exquisite miniature that acted so flawlessly as to appear to be stage magic. That his guests did not believe the explanation - the machine vanished into the mists of the future - was patent. Still, a couple of the more thoughtful had reservations about branding the demonstration an outright trickery. And what about the nearly-complete full-size Machine in the Traveler's laboratory?<br/><br/> Confronted at the next party by the disheveled Traveler, who had apparently suffered privations and who displayed two curious flowers of no known type, the Narrator's wonderment increased. For the Traveler provided a perfectly arresting story to explain his condition - a surprising tale of a far future where humankind divides into a carefree above-ground race, the Eloi, and a mechanical subterranean race, the Morlocks. A tale in which it appears that the inheritors of the Earth inhabit it as cattle for the feeding of their underground cousins!<br/><br/> Believe, or disbelieve? But perhaps the inventive genius of a man who can translate "thousands of millions of days" of time travel into an exact date should not be doubted! (Intro by Mark F. Smith)

“Time Machine (Version 2)” Metadata:

  • Title: Time Machine (Version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 12
  • Total Time: 3:39:09

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: time_machine_ms_librivox
  • File Format: zip
  • Total Time: 3:39:09
  • Download Link: Download link

Online Marketplaces

Find Time Machine (Version 2) at online marketplaces:


24God, the Invisible King

By

Book's cover

Wells wrote in his book God the Invisible King that his idea of God did not draw upon the traditional religions of the world: "This book sets out as forcibly and exactly as possible the religious belief of the writer. [Which] is a profound belief in a personal and intimate God." Later in the work he aligns himself with a "renascent or modern religion ... neither atheist nor Buddhist nor Mohammedan nor Christian ... [that] he has found growing up in himself." (Summary from Wikipedia)

“God, the Invisible King” Metadata:

  • Title: God, the Invisible King
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 16
  • Total Time: 4:34:33

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 16 sections

Online Access

Download the Audio Book:

  • File Name: god_invisible_king_1109_librivox
  • File Format: zip
  • Total Time: 4:34:33
  • Download Link: Download link

Online Marketplaces

Find God, the Invisible King at online marketplaces:


25Tono-Bungay

By

Book's cover

<i>Tono-Bungay</i> is a realist semi-autobiographical novel. It is narrated by George Ponderevo, a science student who is drafted in to help with the promotion of Tono-Bungay, a harmful stimulant disguised as a miraculous cure-all, the creation of his uncle Edward. The quack remedy Tono-Bungay seems to have been based upon the patent medicines Carter's Little Liver Pills and Dr. Williams' Pink Pills for Pale People.... As the tonic prospers, George experiences a swift rise in social status, elevating him to riches and opportunities that he had never imagined, nor indeed desired. The novel displays Edward's social climbing satirically, and also George's discomfort at rising in social class. The hero's personal life is narrated with unusual frankness for an Edwardian novel.... The empire eventually overextends itself and then collapses. George tries unsuccessfully to save his uncle and eventually ends up designing battleships for the highest bidder. (Summary from Wikipedia)

“Tono-Bungay” Metadata:

  • Title: Tono-Bungay
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 30
  • Total Time: 15:11:29

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: tonobungay_1112_librivox
  • File Format: zip
  • Total Time: 15:11:29
  • Download Link: Download link

Online Marketplaces

Find Tono-Bungay at online marketplaces:


26Secret Places of the Heart

By

Book's cover

Richard Hardy, a member of the British gentry, tries to resolve problems in his marriage as he travels with a psychiatrist. The book is to a great extent autobiographical. H. G. had read some brilliantly composed articles by a writer who wrote under the name Rebecca West. In one piece she called H. G. "pseudo-scientific." He contacted her and asked what she meant. When they met for lunch, it was the beginning of a very intense and volatile relationship. Soon she was pregnant, so he divided his time between her and his wife Jane with their two sons. After World War I, Rebecca became more demanding. She wanted him to divorce Jane. Finally, in 1923 Wells told Rebecca she should either get serious about her writing or break off their relationship. The criticism stung her. After a speaking tour in the U.S., she returned newly independent, and the two went their separate ways. In this novel H. G. based the character Martin on Rebecca, who both mesmerized and repelled him. (Summary by Bill Boerst)

“Secret Places of the Heart” Metadata:

  • Title: Secret Places of the Heart
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 22
  • Total Time: 7:24:07

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 22 sections

Online Access

Download the Audio Book:

  • File Name: secret_places_heart_1205_librivox
  • File Format: zip
  • Total Time: 7:24:07
  • Download Link: Download link

Online Marketplaces

Find Secret Places of the Heart at online marketplaces:


27In the Days of the Comet

By

Book's cover

William ("Willie") is a student living in the British town of Clayton. As a Socialist, he tries to move power from the upper class to the working class. Interestingly, in a fictitious confrontation Britain declares war on Germany. Willie falls in love with Nettie, but when she elopes with an upper-class man, Willie resolves to kill them both. Throughout the novel there is present in the sky a large comet which gives off a green glow. As Willie prepares to shoot the lovers, two battleships appear and begin shelling the coast, causing Willie to nearly lose his targets. As the comet enters the atmosphere, it gives off a green gas which envelopes everyone including Willie, who falls asleep. Willie wakes up a changed man. He is able to reason so clearly that he realizes the foolishness of his plan for revenge. Other people have changed too. Our hero marvels at how humankind has risen to new levels of vision and understanding. (Summary from Wikipedia)

“In the Days of the Comet” Metadata:

  • Title: In the Days of the Comet
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 36
  • Total Time: 9:50:23

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: days_of_comet_1112_librivox
  • File Format: zip
  • Total Time: 9:50:23
  • Download Link: Download link

Online Marketplaces

Find In the Days of the Comet at online marketplaces:


28Passionate Friends

By

Book's cover

H. G. Wells is best known for his science fiction, but some of his greatest works were in other genres. The Passionate Friends is a love story. It also is a story about dreams, despair, jealousy, sex, the struggle against social convention, the future of civilization, and much much more. It is written by a father to his son, "not indeed to the child you are now, but to the man you are going to be." He writes it so that one day, perhaps when he is dead, his grown son can read it and rediscover him as a friend and equal. In the process, he tries to make sense of a lifetime's experiences and distill some kind of wisdom from them. It is quite simply a beautiful book, both inspiring and heartbreaking. (Summary by Peter Eastman)

“Passionate Friends” Metadata:

  • Title: Passionate Friends
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 24
  • Total Time: 12:48:56

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 24 sections

Online Access

Download the Audio Book:

  • File Name: the_passionate_friends_1301_librivox
  • File Format: zip
  • Total Time: 12:48:56
  • Download Link: Download link

Online Marketplaces

Find Passionate Friends at online marketplaces:


29Anticipations

By

Book's cover

Wells considered this book one of his most important, a natural follow-up to such works as his Man of the Year Million and The Time Machine. His goal was to get people to think and act in new ways. The book starts with a look at how humans get along socially and how they carry out their business ventures. It then discusses how these elements influence others, such as politics, the world of work, and education. H. G. tried to make clear how the current social order was disintegrating without preparing another to take its place. He then traced the roots of democracy, which in its present state he saw as unworkable. Instead, he proposed a new republic. He also critiqued modern warfare. (Summary by Bill Boerst)

“Anticipations” Metadata:

  • Title: Anticipations
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 18
  • Total Time: 8:31:20

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: anticipations_1206_librivox
  • File Format: zip
  • Total Time: 8:31:20
  • Download Link: Download link

Online Marketplaces

Find Anticipations at online marketplaces:


30Cherry Ames, Island Nurse

By

A private duty nursing case takes Cherry Ames to a remote Canadian island, where a mystery surrounds a mining operation.<br><br> The Cherry Ames series stars a mystery-solving nurse, in the lines of Nancy Drew. The 27 books in the series (1943-1968) were written by Helen Wells and Julie Tatham. (Summary by Maria Therese)

“Cherry Ames, Island Nurse” Metadata:

  • Title: Cherry Ames, Island Nurse
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 14
  • Total Time: 04:34:50

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: cherryamesislandnurse_2005_librivox
  • File Format: zip
  • Total Time: 04:34:50
  • Download Link: Download link

Online Marketplaces

Find Cherry Ames, Island Nurse at online marketplaces:


31Kipps

By

Book's cover

Arthur Kipps, an orphaned draper’s assistant of humble means, unexpectedly inherits a large sum of money and that is when all his troubles begin. Wanting to marry above his social class, he has to learn how to lead a genteel life, but that is too much for him. You would think that his decision to revert to Ann, his boyhood love, would solve his problems and bring him back to earth and contentment. But even now the consequences of being wealthy are not easy to live with.<br /><br /> A poignant tale about ambition and social class in England in the early 20th century by H.G. Wells, a master of this genre, who drew on features of his own life to provide some of the material (Summary by Anthony)

“Kipps” Metadata:

  • Title: Kipps
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 18
  • Total Time: 11:55:06

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: kipps_1211_ao_librivox
  • File Format: zip
  • Total Time: 11:55:06
  • Download Link: Download link

Online Marketplaces

Find Kipps at online marketplaces:


32Invisible Man (Version 2)

By

Book's cover

Terrifically popular science fiction novel by renowned writer HG Wells, about a scientist discovering how to achieve invisibility. But, in his case, being out of sight evidently does NOT mean out of mind. (Summary by Cathy Barratt)

“Invisible Man (Version 2)” Metadata:

  • Title: Invisible Man (Version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 12
  • Total Time: 4:38:26

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: invisibleman_1209_librivox_cb
  • File Format: zip
  • Total Time: 4:38:26
  • Download Link: Download link

Online Marketplaces

Find Invisible Man (Version 2) at online marketplaces:


33Eight Girls and a Dog

By

A book about eight girls who are members of the Blue Ribbon Cooking Club. Timmy Loo is their dog, who's always looking for a little scrap of food. He's cute and energetic. The girls decide it's time for a vacation and they all pack up and go to a summer house near Uncle and Aunt. They have many adventures there as they cook and take care of themselves. Delightful book! (Summary by peppersnoodles93)

“Eight Girls and a Dog” Metadata:

  • Title: Eight Girls and a Dog
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 16
  • Total Time: 4:07:10

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: eight_girls_anda_dog_kk_librivox
  • File Format: zip
  • Total Time: 4:07:10
  • Download Link: Download link

Online Marketplaces

Find Eight Girls and a Dog at online marketplaces:


34Sea Lady

By

Book's cover

The Sea Lady is a novel written by H. G. Wells. It was serialized from July to December 1901 in Pearson's Magazine before being published by D. Appleton and Co. in 1902. The story involves a mermaid who comes ashore in Edwardian England. Based on past knowledge gleaned from literature cast into the sea, and with the help of newly made human friends, she attempts to become part of well mannered society. (Summary by Wikipedia)

“Sea Lady” Metadata:

  • Title: Sea Lady
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 12
  • Total Time: 04:24:57

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: sea_lady_1412_librivox
  • File Format: zip
  • Total Time: 04:24:57
  • Download Link: Download link

Online Marketplaces

Find Sea Lady at online marketplaces:


35Mr. Britling Sees It Through

By

Book's cover

"Mr. Britling Sees It Through" is H. G. Wells' attempt to make sense of World War I. It begins with a lighthearted account of an American visiting England for the first time, but the outbreak of war changes everything. Day by day and month by month, Wells chronicles the unfolding events and public reaction as witnessed by the inhabitants of one house in rural Essex. Each of the characters tries in a different way to keep their bearings in a world suddenly changed beyond recognition. This book was published in 1916 while the war was still in progress, so no clear resolution was possible. Wells did not know how long the war would last or which side would ultimately win, but he hoped that somehow, something good might eventually come of it. - Summary by Peter Eastman

“Mr. Britling Sees It Through” Metadata:

  • Title: Mr. Britling Sees It Through
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 35
  • Total Time: 17:10:18

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: mrbritlingseesitthrough_1501_librivox
  • File Format: zip
  • Total Time: 17:10:18
  • Download Link: Download link

Online Marketplaces

Find Mr. Britling Sees It Through at online marketplaces:


36Food of the Gods, and How It Came to Earth (version 2)

By

Mr. Bensington and Professor Redwood have invented a substance that causes living things to grow - and grow - and grow! As their experiments progress, the substance quickly gets out of control and the fun begins as insects and plants receive the benefit of the Food of the Gods. Surely nobody would dream of feeding such a thing to a human child… would they?<br /><br /> In this little-known science fiction satire, Wells takes potshots at every member of society: scientists, ministers, charitable heiresses, revolutionaries, and everyone in between. Yet in the end, Wells shows his faith both in humanity and its never-ceasing progress. - Summary by Catharine Eastman

“Food of the Gods, and How It Came to Earth (version 2)” Metadata:

  • Title: ➤  Food of the Gods, and How It Came to Earth (version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 20
  • Total Time: 08:25:19

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: food_gods_1603_librivox
  • File Format: zip
  • Total Time: 08:25:19
  • Download Link: Download link

Online Marketplaces

Find Food of the Gods, and How It Came to Earth (version 2) at online marketplaces:


37Tales of Space and Time

By

Book's cover

Five short Science Fiction stories. - Summary by Richard Kilmer

“Tales of Space and Time” Metadata:

  • Title: Tales of Space and Time
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 13
  • Total Time: 08:23:50

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: talesofspaceandtime_1401_librivox
  • File Format: zip
  • Total Time: 08:23:50
  • Download Link: Download link

Online Marketplaces

Find Tales of Space and Time at online marketplaces:


38Love and Mr Lewisham

By

Book's cover

The teaching profession, science and politics in late 19th century England. H. G. Wells’ humorous early novel, drawing on his own life, shows how these – as well as involvement in spiritualism – have to compete with love. - Summary by Anthony Ogus

“Love and Mr Lewisham” Metadata:

  • Title: Love and Mr Lewisham
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 32
  • Total Time: 07:47:25

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: love_and_mr_lewisham_ao_1410_librivox
  • File Format: zip
  • Total Time: 07:47:25
  • Download Link: Download link

Online Marketplaces

Find Love and Mr Lewisham at online marketplaces:


39Man Who Fell Through the Earth

By

Book's cover

A lawyer is leaving his office on the top floor of an office building. He sees the shadows of two men fighting through the clouded glass of an office door followed by a shot from the office across the hall. He goes to investigate. He finds no sign of either victim or assailant despite the fact that no one could have passed him in the hallway without being seen. A murder has been committed, that of the banker. Who is the murderer? A business associate, the banker’s beautiful ward, or a mysterious woman who had been in the office earlier? And what part, if any, was played by the amnesia victim pulled from the river; a man who insists that his earliest memory is of falling through a hole in the earth? (Summary by Richard Kilmer)

“Man Who Fell Through the Earth” Metadata:

  • Title: Man Who Fell Through the Earth
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 18
  • Total Time: 06:42:24

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 18 sections

Online Access

Download the Audio Book:

  • File Name: manwhofellthroughearth_1404_librivox
  • File Format: zip
  • Total Time: 06:42:24
  • Download Link: Download link

Online Marketplaces

Find Man Who Fell Through the Earth at online marketplaces:


40Island of Doctor Moreau (Version 2)

By

Book's cover

In this classic of H. G. Wells, Edward Prendick is shipwrecked on a beautiful island in the South Seas and is drawn into the wild and cruel world of Doctor Moreau, who aspires to play God with animals. Summary by Bob Neufeld

“Island of Doctor Moreau (Version 2)” Metadata:

  • Title: ➤  Island of Doctor Moreau (Version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 8
  • Total Time: 04:54:00

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: drmoreau_1406_librivox
  • File Format: zip
  • Total Time: 04:54:00
  • Download Link: Download link

Online Marketplaces

Find Island of Doctor Moreau (Version 2) at online marketplaces:


41Discovery Of The Future

By

Book's cover

The Discovery of the Future is a 1902 philosophical lecture by H. G. Wells that argues for the knowability of the future. It was originally delivered to the Royal Institution on January 24, 1902. Wells begins by distinguishing between "two divergent types of mind," one that judges and attaches importance principally to what has happened in the past and one that judges and attaches importance principally to what will happen in the future. To the former he attributes the adjectives "legal or submissive," "passive," and "oriental," and to the latter the adjectives "legislative, creative, organizing, or masterful," and "active," calling it "a more modern and much less abundant type of mind."... Confessing himself to be among "those who believe entirely in the forces behind the individual" rather than in individuals themselves as determining causes, Wells argues that there is "no reason why we should not aspire to, and discover and use, safe and serviceable, generalizations upon countless issues in the human destiny." Wells devotes the last part of his text to speculations about "the question what is to come after man," considering it "the most persistently fascinating and the most insoluble question in the whole world." He concludes with a statement of personal faith "in the coherency and purpose in the world and in the greatness of human destiny." ( Wikipedia and david wales)

“Discovery Of The Future” Metadata:

  • Title: Discovery Of The Future
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 3
  • Total Time: 01:02:03

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: discovery_future_dw_1404_librivox
  • File Format: zip
  • Total Time: 01:02:03
  • Download Link: Download link

Online Marketplaces

Find Discovery Of The Future at online marketplaces:


42Deep Lake Mystery

By

Book's cover

Imagine, if you will, a murder committed in a sealed room. A room which has been sealed from the inside, that is, with no possible means of exit, excepting a dangerous plunge through a window into a deep, foreboding lake with swirling eddies and rocks abound. Add to that image a wreath of flowers around the head and across the chest of the victim, a crucifix, an orange, a feather scarf tucked in here and there, two crackers, a handkerchief, and a feather duster. And a nail. Oh, and one more item to add to the curious array of arranged paraphernalia - a watch in a water pitcher by the bedside. Now place yourself in a position to solve the mystery behind this obvious murder of a wealthy man who was liked by everyone, and had no known enemies.<br /><br /> Carolyn Wells was a well known author of children's stories, until she began reading mystery stories written by Anna Katherine Green, and from then on she devoted her writings to puzzling mysteries in a similar vein. Summary by Roger Melin

“Deep Lake Mystery” Metadata:

  • Title: Deep Lake Mystery
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 18
  • Total Time: 08:32:41

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 18 sections

Online Access

Download the Audio Book:

  • File Name: deep_lake_mystery_1411_librivox
  • File Format: zip
  • Total Time: 08:32:41
  • Download Link: Download link

Online Marketplaces

Find Deep Lake Mystery at online marketplaces:


43Gold Bag

By

Book's cover

The case involves a millionaire murdered in his study, suspicious servants, a beautiful niece, a private secretary and a will. enamored. A Holmes like detective is brought in to solve the mystery. (Summary by Richard Kilmer)

“Gold Bag” Metadata:

  • Title: Gold Bag
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 21
  • Total Time: 06:43:43

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 21 sections

Online Access

Download the Audio Book:

  • File Name: thegoldbag_1412_librivox
  • File Format: zip
  • Total Time: 06:43:43
  • Download Link: Download link

Online Marketplaces

Find Gold Bag at online marketplaces:


44Astounding Stories 17, May 1931

By

Book's cover

This issue of the science-fiction magazine includes a novella by Charles W. Diffin titled "Dark Moon" and several short stories, including "When Caverns Yawned", by Captain S.P. Meek "When the Moon Turned Green", by Hal K. Wells and "The Death-Cloud." by Nat Schachner & Arthur L. Zagat There is also a second part of "The Exile of Time" by Ray Cummings. - Summary by Bill Boerst

“Astounding Stories 17, May 1931” Metadata:

  • Title: ➤  Astounding Stories 17, May 1931
  • Authors: ➤  
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 29
  • Total Time: 08:11:37

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: astoundingstories17_1608_librivox
  • File Format: zip
  • Total Time: 08:11:37
  • Download Link: Download link

Online Marketplaces

Find Astounding Stories 17, May 1931 at online marketplaces:


45Wonderful Visit

By

Book's cover

An other-worldly creature visits a small English village, and H. G. Wells uses humour and satire to convey some of the imperfections of Victorian society, as ‘angel’ and humans view each other with equal incomprehension.( summary by Mary Bard)

“Wonderful Visit” Metadata:

  • Title: Wonderful Visit
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 53
  • Total Time: 04:59:25

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: wonderful_visit_1502_librivox
  • File Format: zip
  • Total Time: 04:59:25
  • Download Link: Download link

Online Marketplaces

Find Wonderful Visit at online marketplaces:


46Sea Lady (Version 2)

By

Book's cover

A mermaid contrives to have herself "rescued from drowning" and adopted by a respectable family on the English coast. Her motive, which she conceals for quite a while, is to win the heart of a handsome but irresponsible young man whom she glimpsed when he went swimming in the Pacific. Introduced into polite society as an invalid, she proves to be intelligent and charming, but as an immortal she regards the concerns of the English gentry with critical detachment. The young man, who is already engaged, falls under her spell and begins to doubt the importance of the political career into which his fiancée has been directing him. There are, after all, "other dreams." But does his new relationship offer him any real future? Summary by Thomas Copeland.

“Sea Lady (Version 2)” Metadata:

  • Title: Sea Lady (Version 2)
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 8
  • Total Time: 04:35:41

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: sealady_1503_librivox
  • File Format: zip
  • Total Time: 04:35:41
  • Download Link: Download link

Online Marketplaces

Find Sea Lady (Version 2) at online marketplaces:


47Astounding Stories 13, January 1931

By

Book's cover

This issue contains "The Dark Side of Antri" by Sewell Peaslea Wright, "The Sunken Empire" by H. Thompson Rich, "The Gate to Xoran" by Hal K. Wells, "The Eye of Allah" by C. D. Willard, "The Fifth-Dimension Catapult" by Murray Leinster, and "The Pirate Planet[' by Charles W. Diffin. - Summary by Bill Boerst

“Astounding Stories 13, January 1931” Metadata:

  • Title: ➤  Astounding Stories 13, January 1931
  • Authors:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 26
  • Total Time: 07:52:24

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: AS13_1504_librivox
  • File Format: zip
  • Total Time: 07:52:24
  • Download Link: Download link

Online Marketplaces

Find Astounding Stories 13, January 1931 at online marketplaces:


48New Machiavelli

By

Book's cover

About a political idealist who changes his colours and engages in a sexual adventure, this novel by H.G. Wells generated controversy when it was first published in 1911. - Summary by Anthony Ogus

“New Machiavelli” Metadata:

  • Title: New Machiavelli
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 27
  • Total Time: 16:41:34

Edition Identifiers:

Links and information:

Online Access

Download the Audio Book:

  • File Name: new_machiavelli_ao_1603_librivox
  • File Format: zip
  • Total Time: 16:41:34
  • Download Link: Download link

Online Marketplaces

Find New Machiavelli at online marketplaces:


49Mystery Girl

By

Book's cover

Was it murder or suicide? All entrances to the study where the body was found were locked from the inside. The future college president and groom-to-be had no known cause for suicide, yet no clues in either direction appeared to make any sense. Was Anita, the Mystery Girl, who had just arrived in the New England college town, somehow been implicated? Had she any reason to ensure of the demise of the well-liked man? Perhaps some love letters between the two that nobody was to know about? And what of the mark of a ring on the deceased man's forehead? The college town was abuzz, and it seemed everyone had their own ideas of what actually happened. - Summary by Roger Melin

“Mystery Girl” Metadata:

  • Title: Mystery Girl
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 18
  • Total Time: 08:08:33

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 18 sections

Online Access

Download the Audio Book:

  • File Name: mysterygirl_1602_librivox
  • File Format: zip
  • Total Time: 08:08:33
  • Download Link: Download link

Online Marketplaces

Find Mystery Girl at online marketplaces:


50Door in the Wall, and Other Stories

By

Book's cover

A collection of short stories by H. G. Wells, author of "The Time Machine" and "War of the Worlds". The science fiction master ranges over a variety of topics, each original and unexpected. Included in this collection is "The Country of the Blind" where a man with sight hopes to make himself king. In other stories a stranger offers to sell diamonds on the street, a magic door appears requires a sacrifice to go through it, a demon machine tries to become a god, an engineer finds an engineering solution to a love triangle, and a man dreams or does he? - Summary by Beth Thomas

“Door in the Wall, and Other Stories” Metadata:

  • Title: ➤  Door in the Wall, and Other Stories
  • Author:
  • Language: English
  • Publish Date:

Edition Specifications:

  • Format: Audio
  • Number of Sections: 10
  • Total Time: 05:00:58

Edition Identifiers:

Links and information:

  • LibriVox Link:
  • Text Source: - Download text file/s.
  • Number of Sections: 10 sections

Online Access

Download the Audio Book:

  • File Name: doorinthewall_1602_librivox
  • File Format: zip
  • Total Time: 05:00:58
  • Download Link: Download link

Online Marketplaces

Find Door in the Wall, and Other Stories at online marketplaces:


Buy “Adding It Up” online:

Shop for “Adding It Up” on popular online marketplaces.