Back to all prompts
GeneralCoding
FreeBug Hunter
A systematic debugging assistant that helps identify, analyze, and resolve software bugs and errors. Provides step-by-step troubleshooting approaches and suggests fixes for various types of issues.
X
Xi Xu4.7
The Prompt
# Bug Hunter - Debug Assistant
## Description
A systematic debugging assistant that helps identify, analyze, and resolve software bugs and errors. Provides step-by-step troubleshooting approaches and suggests fixes for various types of issues.
## Usage
Provide error messages, problematic code, or describe unexpected behavior. Include relevant context like environment, inputs, and expected vs. actual outcomes. Works across all programming languages.
## Prompt
```markdown
Help me debug the following issue. Please provide a systematic analysis:
**Problem Description:**
[Describe what's happening vs. what should happen]
**Error Message/Symptoms:**
```
[PASTE ERROR MESSAGE OR DESCRIBE SYMPTOMS]
```
**Code:**
```
[PASTE RELEVANT CODE]
```
**Environment:**
- Programming Language: [language and version]
- Framework/Libraries: [if applicable]
- Operating System: [OS details]
- Input Data: [sample inputs that cause the issue]
Please analyze this by:
1. **Root Cause Analysis**
- Identify the likely cause of the issue
- Explain why this error occurs
- Point to specific lines or components
2. **Debugging Strategy**
- Step-by-step debugging approach
- What to check or test first
- Logging/debugging techniques to use
3. **Solution Options**
- Primary fix recommendation
- Alternative approaches
- Preventive measures
4. **Testing Approach**
- How to verify the fix works
- Edge cases to test
- Regression testing recommendations
Additional context:
[ANY OTHER RELEVANT INFORMATION]
```
## Example Input
```markdown
**Problem Description:**
My Python web scraper randomly fails with connection errors, but the website is accessible in the browser.
**Error Message:**
```
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443):
Max retries exceeded with url: /api/data (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f8b8c0b1d90>: Failed to establish a new connection: [Errno 111] Connection refused'))
```
**Code:**
```python
import requests
import time
def scrape_data():
urls = ["https://example.com/api/data", "https://example.com/api/users"]
results = []
for url in urls:
response = requests.get(url)
results.append(response.json())
time.sleep(0.1)
return results
```
**Environment:**
- Python 3.9
- requests library 2.28.1
- Running on Ubuntu 20.04
- Input: Multiple URLs being scraped in sequence
```
## Example Output
```
### Debug Analysis Report
#### Root Cause Analysis
**Primary Issue:** Rate limiting and connection management
The error indicates connection refusal, which typically occurs when:
1. **Rate Limiting**: The server is blocking requests due to too many rapid connections
2. **Connection Pool Exhaustion**: Not properly managing HTTP connections
3. **Server-side blocking**: Anti-bot measures detecting automated requests
**Specific Issues in Code:**
- Line 8: No error handling for failed requests
- Line 9: Very short delay (0.1s) may trigger rate limiting
- No User-Agent header (common anti-bot trigger)
- No retry mechanism for transient failures
### Debugging Strategy
### Immediate Debugging Steps
1. **Test connectivity**: `curl -I https://example.com/api/data`
2. **Check rate limits**: Increase delay to 2-3 seconds
3. **Monitor network**: Use `netstat` or Wireshark to see connection states
4. **Add logging**: Log response status codes before the error
### Code for Debugging
```python
import logging
logging.basicConfig(level=logging.DEBUG)
# Add this before your request
print(f"Attempting to connect to: {url}")
response = requests.get(url, timeout=10)
print(f"Response status: {response.status_code}")
```
### Solution Options
#### Primary Fix (Recommended)
```python
import requests
import time
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
def scrape_data():
# Configure session with retry strategy
session = requests.Session()
retry_strategy = Retry(
total=3,
backoff_factor=1,
status_forcelist=[429, 500, 502, 503, 504],
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("http://", adapter)
session.mount("https://", adapter)
# Add headers to appear more like a browser
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Accept': 'application/json',
'Accept-Language': 'en-US,en;q=0.9'
}
urls = ["https://example.com/api/data", "https://example.com/api/users"]
results = []
for url in urls:
try:
response = session.get(url, headers=headers, timeout=30)
response.raise_for_status()
results.append(response.json())
# Respectful delay
time.sleep(2)
except requests.exceptions.RequestException as e:
print(f"Error fetching {url}: {e}")
continue
return results
```
### Alternative Approaches
1. **Use connection pooling**: Implement session reuse
2. **Implement exponential backoff**: Gradually increase delays
3. **Add proxy rotation**: If being blocked by IP
4. **Use async requests**: For better connection management
### Testing Approach
#### Verification Steps
1. **Unit test**: Test with single URL first
2. **Load test**: Gradually increase number of URLs
3. **Network simulation**: Test with poor connectivity
4. **Edge cases**: Test with invalid URLs, timeouts
### Test Code
```python
def test_scraper():
# Test single URL
result = scrape_data_single("https://httpbin.org/json")
assert result is not None
# Test with delay
start_time = time.time()
scrape_data()
duration = time.time() - start_time
assert duration >= 2 # Ensure delay is working
```
### Prevention Measures
- Always implement proper error handling
- Use session objects for connection reuse
- Add appropriate delays between requests
- Include realistic User-Agent headers
- Implement retry logic for transient failures
- Monitor rate limits and adjust accordingly
```
## Variations
- **Performance Issues**: Focus on optimization and profiling
- **Security Bugs**: Emphasize vulnerability analysis and secure coding
- **Integration Issues**: Focus on API and service integration problems
- **Frontend Debugging**: Specialized for JavaScript/browser issues
## Tips
- Include full error stack traces when possible
- Provide minimal reproducible examples
- Mention any recent changes that might have introduced the bug
- Include relevant log files or console output
- Specify if the issue is intermittent or consistent
## Related Prompts
- `code-review.md` - For preventing bugs through better code quality
- `test-case-generator.md` - For creating tests to catch bugs
- `refactoring-assistant.md` - For improving code structure to prevent issues
## Tags
`debugging` `troubleshooting` `error-analysis` `bug-fixing` `development` `problem-solving`
#xixu-prompt-library#development#bug-hunter
Source: xixu-me/prompt-library by Xi Xu · License: MIT
Related Prompts
Claude$1.00
React Component Generator
Generate production-ready React TypeScript components with Claude. Create fully typed components with props, hooks, and...
Codingcodingreact
by DevCraft
4.9
ChatGPTFree
REST API Designer
Designs complete REST APIs with validation and error handling for backend development, optimized for ChatGPT.
Codingcodingapi
by APIArchitect
4.6
ClaudeFree
Code Debug Expert
Debug code issues with root cause analysis and fixes using Claude. Identify errors, explain causes, and provide correcte...
Codingcodingdebug
by BugHunter
4.8