WSL Üzerinde Odoo Debug Eğitimi

December 18, 2024 by
Administrator
| No comments yet

# WSL Üzerinde Odoo Debug Eğitimi


## 1. WSL Ortam Hazırlığı


### WSL Kurulum ve Yapılandırma

- WSL2'nin kurulumu

- Ubuntu dağıtımının kurulumu

- Python geliştirme ortamının hazırlanması

- VSCode WSL uzantısının kurulumu


### Gerekli Paketlerin Kurulumu

```bash

sudo apt-get update

sudo apt-get install python3-pip

sudo apt-get install python3-dev

sudo apt-get install postgresql postgresql-contrib

sudo apt-get install libxml2-dev libxslt1-dev

sudo apt-get install libldap2-dev libsasl2-dev

sudo apt-get install python3-venv

```


## 2. VSCode Debug Yapılandırması


### VSCode Eklentileri

- Python extension

- Remote - WSL

- Remote Development

- Debugger for Python


### launch.json Yapılandırması

# Python Debugger Configuration for Odoo 16


This is a sample `launch.json` configuration for debugging an Odoo 16 instance using `debugpy` in Visual Studio Code.


```json

{

    // Use IntelliSense to learn about possible attributes.

    // Hover to view descriptions of existing attributes.

    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

    

        {

            "name": "Python Debugger: Current File",

            "type": "debugpy",

            "request": "launch",

            "program": "${workspaceFolder}/odoo16/odoo-bin",

            "args": [

                "-c",

                "${workspaceFolder}/odoo16.conf",

                "--dev=all"

            ],

            "console": "integratedTerminal",


            "justMyCode": false

        }

    ]

}



## 3. Debug Teknikleri


### Breakpoint Kullanımı

- Breakpoint ekleme yöntemleri

- Koşullu breakpoint kullanımı

- Temporary breakpoint kullanımı

- Watch expressions ekleme


### Debug Görünümleri

- Call Stack inceleme

- Variables paneli kullanımı

- Watch paneli kullanımı

- Debug Console kullanımı


### Python Debugger (pdb) Kullanımı

```python

import pdb; pdb.set_trace()  # Kod içinde breakpoint ekleme


# Temel pdb komutları

# n (next) - Bir sonraki satıra git

# s (step) - Fonksiyon içine gir

# c (continue) - Breakpoint'e kadar devam et

# p variable - Değişken değerini yazdır

# l (list) - Mevcut kod satırlarını göster

```


## 4. Odoo Özel Debug Teknikleri


### Developer Mode Aktivasyonu

- ?debug parametresi kullanımı

- Technical Features aktivasyonu

- Debug menüsü özellikleri


### SQL Debug

```python

# SQL sorgu loglarını aktifleştirme

--log-level=debug_sql


# PostgreSQL log inceleme

sudo tail -f /var/log/postgresql/postgresql-*.log

```


### Asset Debug

- Web asset debugging aktivasyonu

- JavaScript debugging

- CSS debugging


## 5. Log Yönetimi


### Log Seviye Yapılandırması

```python

# Log seviyeleri

--log-level=debug

--log-level=debug_rpc

--log-level=debug_sql

--log-level=info

```


### Log İnceleme

```bash

# Odoo log dosyasını izleme

tail -f /var/log/odoo/odoo-server.log


# Filtreli log inceleme

grep "ERROR" /var/log/odoo/odoo-server.log

```


## 6. İleri Seviye Debug Teknikleri


### Remote Debugging

- Remote debugger yapılandırması

- Remote host bağlantısı

- Remote debugging güvenlik önlemleri


### Performance Profiling

```python

# cProfile kullanımı

python -m cProfile -o profile.stats odoo-bin


# Profil analizi

python -m pstats profile.stats

```


### Memory Profiling

```python

# memory_profiler kullanımı

from memory_profiler import profile


@profile

def my_function():

    # kodunuz

    pass

```


## 7. Yaygın Debug Senaryoları


### Form View Debug

- View inheritance debug

- Field değer takibi

- Onchange tetikleyicileri debug


### ORM Debug

- Create/Write metodları debug

- Compute field debug

- Domain filtresi debug


### Workflow Debug

- State değişimleri takibi

- Action tetikleyicileri debug

- Automated action debug


## En İyi Uygulamalar ve İpuçları


### Debug Verimliliği

- Etkili breakpoint kullanımı

- Watch expressions optimizasyonu

- Debug performance iyileştirmeleri


### Güvenlik Önlemleri

- Production ortamında debug riskleri

- Debug mod güvenlik yapılandırması

- Hassas veri koruması


### Troubleshooting

- Yaygın debug hataları

- Çözüm yöntemleri

- Debug araçları sorun giderme

Administrator December 18, 2024
Share this post
Tags
Archive
Sign in to leave a comment