Debug it!: find, repair, and prevent bugs in your code
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Raleigh, NC [u.a.]
Pragmatic Bookshelf
2009
|
Schriftenreihe: | The Pragmatic programmers
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Hier auch später erschienene, unveränderte Nachdrucke |
Beschreibung: | XIII, 214 S. graph. Darst. |
ISBN: | 9781934356289 193435628X |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035315310 | ||
003 | DE-604 | ||
005 | 20131204 | ||
007 | t | ||
008 | 090217s2009 d||| |||| 00||| eng d | ||
015 | |a GBA8C4749 |2 dnb | ||
020 | |a 9781934356289 |9 978-1-934356-28-9 | ||
020 | |a 193435628X |9 1-934356-28-X | ||
035 | |a (OCoLC)587906274 | ||
035 | |a (DE-599)BVBBV035315310 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-703 |a DE-11 | ||
082 | 0 | |a 005.14 |2 22 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
100 | 1 | |a Butcher, Paul N. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Debug it! |b find, repair, and prevent bugs in your code |c Paul Butcher |
264 | 1 | |a Raleigh, NC [u.a.] |b Pragmatic Bookshelf |c 2009 | |
300 | |a XIII, 214 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The Pragmatic programmers | |
500 | |a Hier auch später erschienene, unveränderte Nachdrucke | ||
650 | 4 | |a Debugging in computer science | |
650 | 4 | |a Computer software / Development | |
650 | 4 | |a Computer software / Quality control | |
650 | 4 | |a Computer software |x Development | |
650 | 4 | |a Computer software |x Quality control | |
650 | 4 | |a Debugging in computer science | |
650 | 0 | 7 | |a Debugging |0 (DE-588)4148954-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Debugging |0 (DE-588)4148954-8 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017119986&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-017119986 |
Datensatz im Suchindex
_version_ | 1804138621532372992 |
---|---|
adam_text | Contents
Preface
xi
About This Book
.......................... xi
Acknowledgments
.......................... xli
I The Heart of the Problem
1
1
A Method in the Madness
3
1.1
Debugging Is More Than Making the Bug Go Away
. 3
1.2
The Empirical Approach
.................. 5
1.3
The Core Debugging Process
............... 6
1.4
First Things First
...................... 7
1.5
Put It in Action
....................... 11
2
Reproduce
13
2.1
Reproduce First, Ask Questions Later
.......... 13
2.2
Controlling the Software
.................. 15
2.3
Controlling the Environment
............... 16
2.4
Controlling Inputs
..................... 18
2.5
Refining Your Reproduction
................ 26
2.6
What If You Really Can t Reproduce It?
......... 35
2.7
Put It in Action
....................... 38
3
Diagnose
39
3.1
Stand Back—I m Going to Try Science
.......... 39
3.2
Stratagems
.......................... 46
3.3
Debuggers
.......................... 52
3.4
Pitfalls
............................ 53
3.5
Mind Games
......................... 57
3.6
Validate Your Diagnosis
.................. 62
3.7
Put It in Action
....................... 63
viii
► CONTENTS
4 Fix 65
4.1 Clearing
the
Decks..................... 66
4.2
Testing............................
67
4.3 Fix
the Cause, Not the Symptoms
............ 69
4.4
Refactoring
.......................... 71
4.5
Checking In
......................... 73
4.6
Get Your Code Reviewed
.................. 74
4.7
Put It in Action
....................... 75
5
Reflect
77
5.1
How Did It Ever Work?
................... 77
5.2
What Went Wrong?
..................... 78
5.3
It ll Never Happen Again
.................. 81
5.4
Close the Loop
........................ 84
5.5
Put It in Action
....................... 85
Π
The Bigger Picture
87
β
Discovering That
Tou
Have a Problem
89
6.1
Tracking Bugs
........................ 89
6.2
Working with Users
..................... 94
6.3
Working with Support Staff
................ 99
6.4
Put It in Action
....................... 101
7
Pragmatic Zero Tolerance
103
7.1
Bugs Take Priority
..................... 103
7.2
The Debugging Mind-Set
.................. 106
7.3
Digging Yourself Out of a Quality Hole
.......... 108
7.4
Put It in Action
....................... 113
Ш
Debug-Fu
115
8
Special Cases
117
8.1
Patching Existing Releases
................ 117
8.2
Backward Compatibility
.................. 118
8.3
Concurrency
......................... 123
8.4
Heisenbugs
......................... 125
8.5
Performance Bugs
..................... 127
8.6
Embedded Software
..................... 129
8.7
Bugs in Third-Party Software
............... 132
8.8
Put It in Action
....................... 137
ix
9
The Ideal Debugging Environment
139
9.1
Automated Testing
..................... 139
9.2
Source Control
....................... 142
9.3
Automatic Builds
...................... 147
9.4
Put It in Action
....................... 155
10
Teach Your Software to Debug Itself
157
10.1
Assumptions and Assertions
............... 157
10.2
Debugging Builds
...................... 167
10.3
Resource Leaks and Exception Handling
........ 172
10.4
Put It in Action
....................... 179
11
Anti-patterns
181
11.1
Priority Inflation
....................... 181
11.2
Prima
Donna
......................... 182
11.3
Maintenance Team
..................... 184
11.4
Firefighting
.......................... 186
11.5
Rewrite
............................ 187
11.6
No Code Ownership
..................... 189
11.7
Black Magic
......................... 189
11.8
Put It in Action
....................... 190
A Resources
193
A.1 Source Control and Issue-Tracking Systems
...... 193
A.
2
Build and Continuous Integration Tools
......... 196
A.3 Useful Libraries
....................... 198
A.4 OtherTools
......................... 200
В
Bibliography
205
Index
207
|
any_adam_object | 1 |
author | Butcher, Paul N. |
author_facet | Butcher, Paul N. |
author_role | aut |
author_sort | Butcher, Paul N. |
author_variant | p n b pn pnb |
building | Verbundindex |
bvnumber | BV035315310 |
classification_rvk | ST 230 |
ctrlnum | (OCoLC)587906274 (DE-599)BVBBV035315310 |
dewey-full | 005.14 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.14 |
dewey-search | 005.14 |
dewey-sort | 15.14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01693nam a2200445 c 4500</leader><controlfield tag="001">BV035315310</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20131204 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">090217s2009 d||| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA8C4749</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781934356289</subfield><subfield code="9">978-1-934356-28-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">193435628X</subfield><subfield code="9">1-934356-28-X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)587906274</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035315310</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.14</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Butcher, Paul N.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Debug it!</subfield><subfield code="b">find, repair, and prevent bugs in your code</subfield><subfield code="c">Paul Butcher</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Raleigh, NC [u.a.]</subfield><subfield code="b">Pragmatic Bookshelf</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIII, 214 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The Pragmatic programmers</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Hier auch später erschienene, unveränderte Nachdrucke</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Debugging in computer science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software / Development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software / Quality control</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Quality control</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Debugging in computer science</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Debugging</subfield><subfield code="0">(DE-588)4148954-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Debugging</subfield><subfield code="0">(DE-588)4148954-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017119986&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017119986</subfield></datafield></record></collection> |
id | DE-604.BV035315310 |
illustrated | Illustrated |
indexdate | 2024-07-09T21:31:06Z |
institution | BVB |
isbn | 9781934356289 193435628X |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017119986 |
oclc_num | 587906274 |
open_access_boolean | |
owner | DE-703 DE-11 |
owner_facet | DE-703 DE-11 |
physical | XIII, 214 S. graph. Darst. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Pragmatic Bookshelf |
record_format | marc |
series2 | The Pragmatic programmers |
spelling | Butcher, Paul N. Verfasser aut Debug it! find, repair, and prevent bugs in your code Paul Butcher Raleigh, NC [u.a.] Pragmatic Bookshelf 2009 XIII, 214 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier The Pragmatic programmers Hier auch später erschienene, unveränderte Nachdrucke Debugging in computer science Computer software / Development Computer software / Quality control Computer software Development Computer software Quality control Debugging (DE-588)4148954-8 gnd rswk-swf Debugging (DE-588)4148954-8 s DE-604 Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017119986&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Butcher, Paul N. Debug it! find, repair, and prevent bugs in your code Debugging in computer science Computer software / Development Computer software / Quality control Computer software Development Computer software Quality control Debugging (DE-588)4148954-8 gnd |
subject_GND | (DE-588)4148954-8 |
title | Debug it! find, repair, and prevent bugs in your code |
title_auth | Debug it! find, repair, and prevent bugs in your code |
title_exact_search | Debug it! find, repair, and prevent bugs in your code |
title_full | Debug it! find, repair, and prevent bugs in your code Paul Butcher |
title_fullStr | Debug it! find, repair, and prevent bugs in your code Paul Butcher |
title_full_unstemmed | Debug it! find, repair, and prevent bugs in your code Paul Butcher |
title_short | Debug it! |
title_sort | debug it find repair and prevent bugs in your code |
title_sub | find, repair, and prevent bugs in your code |
topic | Debugging in computer science Computer software / Development Computer software / Quality control Computer software Development Computer software Quality control Debugging (DE-588)4148954-8 gnd |
topic_facet | Debugging in computer science Computer software / Development Computer software / Quality control Computer software Development Computer software Quality control Debugging |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017119986&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT butcherpauln debugitfindrepairandpreventbugsinyourcode |